[英]Delphi indy send wrong value
解决问题
我正在将图像上传到站点,但是1个参数数据存在问题
Params.AddFormField('Filename','Koala.jpg','') ;
Params.AddFormField('upload_type','normal-boxed','') ;
Params.AddFormField('thumbsize','180') ;
Params.AddFormField('adult','1') ;
Params.AddFormField('mmh_user_session',userid) ;
Params.AddFormField('flash', '1','');
Params.AddFormField('private_upload', '0','');
Params.AddFormField('form', 'adult=1&thumbsize=180&tos=on',''); // here is the problem
Params.AddFile('Filedata', 'Koala.jpg','application/octet-stream');
Params.AddFormField('Upload', 'Submit Query','');
以这种方式发送的表单字段的值会导致出现问题(未上传图片)
adult=3D1&thumbsize=3D180&tos=3Don
它应该像
adult=1&thumbsize=180&tos=on
所以我怎么能阻止印地编码这个值?
一些更多的信息
form4.IdHTTP1.AllowCookies := True;
form4.IdHTTP1.ReadTimeout := 30000;
form4.IdHTTP1.HandleRedirects := true;
form4.IdHTTP1.ProtocolVersion := pv1_1;
我使用delphi XE 3
页面源代码
<form action="upload.php" method="post" id="upload_form" enctype="multipart/form-data">
我努力了
form4.IdHTTP1.Request.ContentType := 'multipart/form-data';
但是它仍然发送编码!
通过添加解决问题
.ContentTransfer:='8bit';
所以应该是这样
Params.AddFormField('form', 'adult=1&thumbsize=180&tos=on','').ContentTransfer:='8bit';
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.