DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: tkzcol
今日帖子: 4
在线用户: 2
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 mit (.﹎筷樂) ★☆☆☆☆ -
普通会员
2011/5/21 23:26:58
标题:
Delphi XE使用TIdMultiPartFormDataStream 浏览:3065
加入我的收藏
楼主: uses  IdMultipartFormData;

var
  //Response:string;
  ms:TMemoryStream;
  Multipart:TIdMultiPartFormDataStream;
begin
  Multipart :=TIdMultiPartFormDataStream.Create;
  ms:=TMemoryStream.Create;
  Multipart.AddFormField('Str','中国','GB2312');
  Multipart.AddFormField('Str1','2131sadsad');
  ms.LoadFromStream(Multipart);
  ms.Position :=0;
  ms.SaveToFile('1.txt');
  //Response :=IdHTTP1.Post('http://127.0.0.1/update.asp',Multipart);
  //ShowMessage(Response);
  Multipart.Free;
  ms.Free;
end;

上边这个是测试使用TIDMultiPartFormDataStream的一个小例子

使用流存为文件查看才知道文字变成了=D6=D0=B9=FA

如果使用IDHTTP.POST提交的话,提示的内容也是=D6=D0=B9=FA

不知道如何才能将POST的数据转了中文!
----------------------------------------------
-
作者:
男 tintin1943 (零输好) ★☆☆☆☆ -
盒子活跃会员
2011/5/22 0:49:45
1楼: 你完全可以使用 TStirngStream流,用UTF8编码方式(D2009后续版本),,然后拷贝给TIdMultiPartFormDataStream,,,或者先对中文 base64编码,,,方法很多,,,关键是怎么变通
----------------------------------------------
不喧哗 自有声 心静 思远 志行千里
作者:
男 mit (.﹎筷樂) ★☆☆☆☆ -
普通会员
2011/5/22 1:15:42
2楼: 我的最终目的是想使用IDHTTP.POST提交Multipart

用你所说的方法是否可以呢?

能否给我一个实例.谢谢!
----------------------------------------------
-
作者:
男 wiseinfo (wisienfo) ★☆☆☆☆ -
普通会员
2011/5/22 20:19:08
3楼: XE中INDY中文都encode了,但POST的网站就不一定支持,, 我在开发拍拍的接口时,就需要解决这个问题.

用了几个晚上解决了这个问题.
----------------------------------------------
-
作者:
男 mit (.﹎筷樂) ★☆☆☆☆ -
普通会员
2011/5/23 1:12:52
4楼: 楼上的朋友是如何解决的呢?
能否给出些演示代码
----------------------------------------------
-
作者:
男 madeagle (夜引弓) ★☆☆☆☆ -
普通会员
2011/11/15 12:16:56
8楼: 编码的问题,在 idmultifordata单元的ADDFIELD函数里的把编码改成binary
就可以了
----------------------------------------------
-
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行70.3125毫秒 RSS