如何使用TClientDataSet发送文件?
我正在使用Delphi2010
感谢
弗拉基米尔。
我对混淆的抱怨,我的目的是将pdf文件从一个TCLientDataSet发送/转移到另一个...我们正在使用MIDAS ... 感谢
答案 0 :(得分:3)
如果您的文件作为BLOB数据保存在ClientDataset的某个字段中,并且您的ClientDataset使用DataSnap连接到远程DatasetProvider,则只需调用TClientDataset.ApplyUpdate即可将更改的数据从客户端发送到DataSnap服务器。
如果您的ClientDataset只存储文件名,并且文件内容未保存到数据库中,那么您应该将文件单独上传到服务器。 要将文件上载到服务器,您可以定义一个服务器方法,该方法将流作为参数,并从客户端应用程序中调用它。
如果您不知道如何将服务器方法添加到DataSnap 2010服务器,那么我建议您阅读Bob Swart的“Delphi 2010 DataSnap: Your data where you want it, how you want it”
答案 1 :(得分:0)
我假设您要将客户端数据集从一台机器移动到另一台机器。只需使用TClientDataSet.SaveToFile将其写入文件,并使用适合您的任何传输方式发送文件。在接收器上使用LoadFromFile来加载CDS。我怀疑还有一个SaveToStream,它允许你把它写到RAM并通过套接字发送。