2016-03-29 33 views
1

は、我々はit information使用され、それコード:imgur commerce - イメージをアルバムにアップロードするには? imgur.comのアルバム内の画像アップロード用

$image = file_get_contents($_FILES['upload']['tmp_name']); 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, 'https://imgur-apiv3.p.mashape.com/3/image'); 
curl_setopt($ch, CURLOPT_POST, TRUE); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Client-ID ' . $client_id)); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-Mashape-Key: ' . $xmash)); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded')); 
curl_setopt($ch, CURLOPT_POSTFIELDS, array('image' => base64_encode($image))); 
curl_setopt($ch, CURLOPT_POSTFIELDS, array('album' => $album_id)); 
curl_setopt($ch, CURLOPT_POSTFIELDS, array('type' => 'base64')); 
curl_setopt($ch, CURLOPT_POSTFIELDS, array('name' => 'test_name')); 
curl_setopt($ch, CURLOPT_POSTFIELDS, array('title' => 'test title')); 
curl_setopt($ch, CURLOPT_POSTFIELDS, array('description' => 'blablabla')); 
$result= curl_exec($ch); 
var_dump($result); 
curl_close($ch); 

が、結果には、我々はエラーInvalid image typeを取得しています。

なぜ私たちはそれがエラーを取得して、どのようにアルバムの画像をアップロードしてください教えてください?

P.S .:テストコマース商品です。

答えて

0

これは、それからちょうどあなたの要求に通過..をbase64に$baseContent VARを設定します

$baseContent = ""; 

if (isset($_FILES['upload']['tmp_name'])) { 
     $imgbinary = fread(fopen($_FILES['upload']['tmp_name'], "r"), filesize($_FILES['upload']['tmp_name'])); 
     $baseContent = 'data:image/png;base64,' . base64_encode($imgbinary); 
    } 

...あなたのイメージが最初にbase64を送信する前に、正しく構成されていることを確認します

curl_setopt($ch, CURLOPT_POSTFIELDS, array('image' => $baseContent)); 

正しく書式設定されていないように見えます。私はこれを完全にテストしなかったが、あなたは正しいbase64を持っていることを確認しなければならない。

関連する問題