отправка файлов с помощью TClientDataSets - PullRequest
1 голос
/ 15 февраля 2010

Как отправить файлы с помощью TClientDataSet?

Я использую Delphi2010

спасибо

владимир.

Мои извинения за путаницу, я намерен отправить / переслать pdf-файлы с одного TCLientDataSet другому пользователю ... мы используем MIDAS ... спасибо

Ответы [ 2 ]

3 голосов
/ 15 февраля 2010

Если ваши файлы сохранены в одном из полей ClientDataset как данные BLOB, и ваш ClientDataset подключен к удаленному DatasetProvider с использованием DataSnap, то достаточно просто вызвать TClientDataset.ApplyUpdate, чтобы отправить измененные данные с клиента на сервер DataSnap.

Если ваш ClientDataset просто хранит имя файла, а содержимое файла не сохраняется в базе данных, то вы должны загрузить файл на сервер отдельно. Чтобы загрузить файл на сервер, вы можете определить метод сервера, который принимает поток в качестве параметра, и вызывать его из клиентского приложения.

Если вы не знаете, как добавить метод сервера к вашему серверу DataSnap 2010, тогда я предлагаю вам прочитать « Delphi 2010 DataSnap» Боба Сварта: ваши данные, где вы хотите, как вы хотите «

0 голосов
/ 15 февраля 2010

Я предполагаю, что вы хотите переместить наборы данных клиента с компьютера на компьютер. Просто используйте TClientDataSet.SaveToFile, чтобы записать его в файл, и отправьте файл, используя тот транспорт, который вам подходит. Используйте LoadFromFile на приемнике, чтобы загрузить CDS обратно. Я подозреваю, что есть также SaveToStream, который позволит вам записать его в ОЗУ и отправить через сокет.

...