|
|
导航: |
论坛 -> 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的数据转了中文!
----------------------------------------------
- |
作者: |
|
2011/5/22 0:49:45 |
1楼: |
你完全可以使用 TStirngStream流,用UTF8编码方式(D2009后续版本),,然后拷贝给TIdMultiPartFormDataStream,,,或者先对中文 base64编码,,,方法很多,,,关键是怎么变通
----------------------------------------------
不喧哗 自有声 心静 思远 志行千里
|
作者: |
mit (.﹎筷樂) |
★☆☆☆☆ |
-
|
普通会员 |
|
2011/5/22 1:15:42 |
2楼: |
我的最终目的是想使用IDHTTP.POST提交Multipart
用你所说的方法是否可以呢?
能否给我一个实例.谢谢!
----------------------------------------------
-
|
作者: |
|
2011/5/22 20:19:08 |
3楼: |
XE中INDY中文都encode了,但POST的网站就不一定支持,, 我在开发拍拍的接口时,就需要解决这个问题.
用了几个晚上解决了这个问题.
----------------------------------------------
-
|
作者: |
mit (.﹎筷樂) |
★☆☆☆☆ |
-
|
普通会员 |
|
2011/5/23 1:12:52 |
4楼: |
楼上的朋友是如何解决的呢? 能否给出些演示代码
----------------------------------------------
-
|
作者: |
|
2011/11/15 12:16:56 |
8楼: |
编码的问题,在 idmultifordata单元的ADDFIELD函数里的把编码改成binary 就可以了
----------------------------------------------
-
|
|