簡體   English   中英

Delphi Indy發送錯誤值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM