datasnap传输流/文件问题
2012-04-09 11:37
169 查看
我在datasnap服务器里面定义了方法:
客户端
但是服务器接收到的doc的size始终为-1,无法得到流。
后使用TJSONArray进行转换,可以实现。
服务器这样写
客户端这样写
procedure UpdateDoc(ItemID : integer; doc : TStream);
客户端
AServerMethods_PublicClient := TServerMethods_PublicClient.Create(DM_Client.SQLConnection1.DBXConnection); ItemText := TMemoryStream.Create; try ItemText.LoadFromFile('E:\private\ksxt\Source\Client\Win32\Debug\blank.rtf'); ItemText.Position := 0; ShowMessage('ItemText.Size := ' + IntToStr(ItemText.Size)); AServerMethods_PublicClient.UpdateDoc(6, ItemText); finally ItemText.Free; AServerMethods_PublicClient.Free; end;
但是服务器接收到的doc的size始终为-1,无法得到流。
后使用TJSONArray进行转换,可以实现。
服务器这样写
procedure TServerMethods_Public.UpLoadFile(ADoc: TJSONArray); var ADBXJSONTools : TDBXJSONTools; AData : TMemoryStream; begin AData := TMemoryStream.Create; try AData := ADBXJSONTools.JSONToStream(ADoc) as TMemoryStream; ShowMessage(IntToStr(AData.Size)); AData.SaveToFile('123.rtf'); finally Adata.Free; end; end;
客户端这样写
ItemText.LoadFromFile('E:\private\ksxt\Source\Client\Win32\Debug\blank.rtf'); ItemText.Position := 0; ShowMessage('ItemText.Size := ' + IntToStr(ItemText.Size)); ADoc := ADBXJSONTools.StreamToJSON(ItemText, 0, ItemText.Size); AServerMethods_PublicClient.UpLoadFile(ADoc);
相关文章推荐
- 解决FTPClient不能访问文件的问题150 Opening ASCII mode data connection
- TCP传输大文件问题总结
- Delphi XE8中开发DataSnap程序常见问题和解决方法 (二)想对DBExpress的TSQLDataSet写对数据库操作的SQL语句出错了!
- linux与windows之间传输文件工具rz上传大文件失败问题解决方案
- WCF 通过web.config配置文件解决传输内容过大问题
- 开发错误日志之FTP协议传输文件问题
- Delphi XE8中开发DataSnap程序常见问题和解决方法 (二)想对DBExpress的TSQLDataSet写对数据库操作的SQL语句出错了!
- DATASNAP 自增长字段问题
- 关于文件、网络传输以及内存存储的大小端问题
- 12、ubuntu 与 windows 之间使用 ssh 传输文件的问题
- 【原创】AJAX上传文件,formdata表单提交问题
- Linux 内核编程 or 内核模块编程的文件读写与信号传输问题
- 创建 Delphi DataSnap 程序的问题集萃(2)
- 关于Linux虚拟机和window之间的文件传输问题
- 问题-XE10.2开发Datasnap时提示"provider not exported datasetprovider1"
- 打通windows和Linux下的传输问题解决只能使用SSH协议下的22端口来传输文件(Openssh for windows)
- 解决传输文件突然终止而造成文件不可删除的问题
- 电脑的远程连接不能传输文件问题
- Xcode真机调试时向真机传输文件的问题
- cuteftp连不上Linux虚拟机和传输文件问题的解决方案