DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: laidabin
今日帖子: 3
在线用户: 27
导航: 论坛 -> 网络通讯 斑竹:liumazi,sephil  
作者:
男 ken0137 (顺眼即佛) ★☆☆☆☆ -
普通会员
2017/3/16 16:45:10
标题:
如何使用idhttp的post方式下载一个文件并且得到二进制返回值 浏览:1770
加入我的收藏
楼主: 我下载文件是这样的,但是没法得到返回值(D7+indy10.2.3)
客户提供的说明文档是这样的
//////////
该接⼝⽤于下载产品所有相关资料
URL:https://host/v2/download/product
访问⽅法:  POST
传⼊参数:
{
"productid":"产品的id",
"type":  "下载类型"
}
返回内容:
⼆进制数据。在返回的HTTP头部存在fileMd5字段,其值为对应⽂件的MD5,可⽤于完整性校验。
//////////
我现在卡在如何获得这个MD5的校验值?
我下载文件是这样的
var
  Str:string;
  vJson, vRet: ISuperObject;

  TStream := TMemoryStream.Create;
  Request:=TStringList.Create;
  vJson := SO('{"productid":"496a601dbdbaa3ddd0f2a4600e4cbeff","romtype":"product"}');
  Request := TStringList.Create;
  Request.Append(utf8Encode(vJson.AsString));
  IdHTTP1.Post(Str,Request,TStream);
  TStream.SaveToFile('x.zip');
那么文档里的MD5要如何获取?
----------------------------------------------
只会简单使用,并未精通深入
作者:
男 redhan (晓寒) ★☆☆☆☆ -
盒子活跃会员
2017/3/16 19:06:32
1楼: IdHTTP1.Response.CustomHeaders.Values['fileMd5']
----------------------------------------------
-
作者:
男 ken0137 (顺眼即佛) ★☆☆☆☆ -
普通会员
2017/3/17 8:37:37
2楼: 这样得到的是为空的,我那个下载是不是正确的呢?虽然是能下载得到文件的
----------------------------------------------
只会简单使用,并未精通深入
作者:
男 ken0137 (顺眼即佛) ★☆☆☆☆ -
普通会员
2017/3/17 10:25:57
3楼: 终于找到了,是
IdHTTP1.Response.RawHeaders.Values['filemd5']
谢谢redhan
----------------------------------------------
只会简单使用,并未精通深入
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行66.40625毫秒 RSS