打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Delphi XE2 DataSnap 上传下载文件

--------------------------------上传

服务器端:
function TServerMethods1.upPictureFile(f: TJSONArray): Boolean;
var
  t:TDBXJSONTools;
  s:TMemoryStream;
begin
  result:=false;
  try
  t:=TDBXJSONTools.Create;
  s:=TMemoryStream.Create;

  s:=t.JSONToStream(f) as TMemoryStream;
  s.SaveToFile('D:\Java学习笔记.doc');
  result:=true;
  finally
    freeandnil(t);
    freeandnil(s);
  end;
end;

客户端:
procedure TForm2.Button1Click(Sender: TObject);
var
  proxyServer:TServerMethods1Client;
  t:TDBXJSONTools;
  s:TMemorystream;
  f:TJSONArray;
begin
  if not SQLConnection1.Connected then  SQLConnection1.Connected:=true;
  try
  proxyServer:=TServerMethods1Client.Create(SQLConnection1.DBXConnection);
  t:=TDBXJSONTools.Create;
  s:=TMemoryStream.Create;

  s.LoadFromFile('E:\电子书\java\Java学习笔记.doc');
  //s.Position:=0;

  f:=t.StreamToJSON(s,0,s.Size);

  if proxyServer.upPictureFile(f) then

  showmessage(proxyServer.sayHello);
  finally
    freeandnil(proxyServer);
    freeandnil(t);
    freeandnil(s);
  end;
end;

 

----------------------------下载

服务器端:
function TServerMethods1.downPictureFiel(out f: TJSONArray): Boolean;
var
  t:TDBXJSONTools;
  s:TMemoryStream;
begin
  result:=false;
  try
  t:=TDBXJSONTools.Create;
  s:=TMemoryStream.Create;

  s.LoadFromFile('D:\3.jpg');
  s.Position:=0;

  f:=t.StreamToJSON(s,0,s.Size);

  result:=true;
  finally
    freeandnil(t);
    freeandnil(s);
  end;
end;

客户端:
procedure TForm2.bitbtn2Click(Sender: TObject);
var
  proxy:TServerMethods1Client;
  t:TDBXJSONTools;
  s:TMemoryStream;
  aFile:TJsonArray;
begin
  if not SQLConnection1.Connected then SQLConnection1.Connected:=true;
  proxy:=TServerMethods1Client.Create(SQLConnection1.DBXConnection);

  try
    t:=TDBXJSONTools.Create;
    s:=TMemoryStream.Create;
    aFile:=TJsonArray.Create;

    if proxy.downPictureFiel(aFile) then
      begin
        s:=t.JSONToStream(aFile) as TMemoryStream;
        s.Position:=0;
        s.SaveToFile('D:\down.jpg');
      end;

  finally
    freeandnil(t);
    freeandnil(s);
    freeandnil(aFile);
  end;


  showmessage('下载文件:'+proxy.sayHello);
end;

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
delphi 2010 JSON 程式設計 – DataSnap的回叫機制
XE7 DataSnap 远程调用 返回 DataSet实现 | 似水流年
Delphi编程:用流来读取TXT文件中的数据
Delphi DataSnap 初步入门使用总结
DELPHI DATASNAP 2010 入门操作(2)不写一行代码,绿色三层我也行
DELPHI10.2开发的跨平台中间件
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服