使用新浪微博api寫圖床時出現了20007錯誤,文檔說需要用multipart上傳檔案。php中curl類比post該如何用multipart上傳檔案?
我使用的代碼:
$uri = "https://upload.api.weibo.com/2/statuses/upload.json";$data = array ( 'access_token' => '', 'status' => '', 'pic' => ''); $ch = curl_init ();curl_setopt ( $ch, CURLOPT_URL, $uri );curl_setopt ( $ch, CURLOPT_POST, 1 );curl_setopt ( $ch, CURLOPT_HEADER, 0 );curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data );$return = curl_exec ( $ch );curl_close ( $ch ); print_r($return);
回複內容:
使用新浪微博api寫圖床時出現了20007錯誤,文檔說需要用multipart上傳檔案。php中curl類比post該如何用multipart上傳檔案?
我使用的代碼:
$uri = "https://upload.api.weibo.com/2/statuses/upload.json";$data = array ( 'access_token' => '', 'status' => '', 'pic' => ''); $ch = curl_init ();curl_setopt ( $ch, CURLOPT_URL, $uri );curl_setopt ( $ch, CURLOPT_POST, 1 );curl_setopt ( $ch, CURLOPT_HEADER, 0 );curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data );$return = curl_exec ( $ch );curl_close ( $ch ); print_r($return);
看 curl的代碼應該是沒有什麼大問題 ,不知道是不是你幾個值為空白的原因,
"pic"=>"@/path/to/myfile.jpg",
當你的$data是數組的時候 curl自動會以multipart方式post的
再加一句,數組必須 為K=>v格式的數組