2011-12-29 3 views
1

一般的な質問ではありませんが、画像が1000回アップロードされましたが、これは処理できません。問題がリファラー、ユーザエージェント、エンコーディング、セッションなどではないと仮定します。ページから返されるエラーは明確です:ファイルの "Content-type:image/jpeg"を送信できないという問題があります。画像をカールライブラリでアップロードする

POST /Shared/Webservices/Uploader.ashx HTTP/1.1 

Host: ***.it 

User-Agent: Mozilla/5.0 (Ubuntu; X11; Linux i686; rv:8.0) Gecko/20100101 Firefox/8.0 

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 

Accept-Language: en-us,en;q=0.5 

Accept-Encoding: gzip, deflate 

Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 

DNT: 1 

Connection: keep-alive 

Referer: ***.it 



Content-Type: multipart/form-data; boundary=---------------------------7306436807702238541262456293 

Content-Length: 51702 

-----------------------------7306436807702238541262456293 

Content-Disposition: form-data; name="vert" 



au 

-----------------------------7306436807702238541262456293 

Content-Disposition: form-data; name="userfile"; filename="1.jpg" 

Content-Type: image/jpeg 


binary dataaaaaaaaaaa 

-----------------------------7306436807702238541262456293-- 

ここで有罪コード:ここに は私がシミュレートしようとしている「ライブのhttpdヘッダ」となった要求である

 $url = $urlwhereuploadto; 
     $file = $filepath; 

     $headers['Content-Type'] = "multipart/form-data; boundary=AaB03x---------------"; 
     $headers['Content-Disposition'] = 'form-data; name="userfile"; filename="'.basename($file).'"'; 

     $data['vert'] = "au"; 
     $data['userfile'] = "@$file;type=image/jpeg;"; 

     $ch = curl_init(); 
     curl_setopt($ch, CURLOPT_HEADER, $headers); 
     curl_setopt($ch, CURLOPT_URL, $url); 
     curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13"); 
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
     curl_setopt($ch, CURLOPT_POST, 1); 
     curl_setopt($ch, CURLOPT_POSTFIELDS, $data); 
     curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 
     $result = curl_exec($ch); 

     die($result); 

任意のアイデア?

答えて

2

解決策:Content-dispositionを設定した行を削除してください。カールはすでにそれを設定しました。 (しかし、私はいつも私の他のクモでそれを設定...)

関連する問題