1

如何使用 TClientDataSet 发送文件?

我正在使用Delphi2010

谢谢

弗拉基米尔

我对这种混乱感到抱歉,我的意图是将 pdf 文件从一个 TCLientDataSet 发送/传输到另一个...我们正在使用 MIDAS...谢谢

4

2 回答 2

3

如果您的文件作为 BLOB 数据保存在 ClientDataset 的某个字段中,并且您的 ClientDataset 使用 DataSnap 连接到远程 DatasetProvider,那么只需调用 TClientDataset.ApplyUpdate 就足以将更改的数据从客户端发送到 DataSnap 服务器。

如果您的 ClientDataset 只存储文件名,而文件内容没有保存到数据库中,那么您应该将文件单独上传到服务器。要将文件上传到服务器,您可以定义一个以流为参数的服务器方法,并从您的客户端应用程序调用它。

如果您不知道如何将服务器方法添加到 DataSnap 2010 服务器,那么我建议您阅读 Bob Swart 的“ Delphi 2010 DataSnap:您想要的数据,您想要的方式

于 2010-02-15T14:59:23.470 回答
0

我假设您想将客户端数据集从一台机器移动到另一台机器。只需使用 TClientDataSet.SaveToFile 将其写入文件,然后使用适合您的任何传输方式发送文件。使用接收器上的 LoadFromFile 将 CDS 加载回来。我怀疑还有一个 SaveToStream ,它允许您将它写入 RAM 并通过套接字发送它。

于 2010-02-15T13:33:11.770 回答