开发者社区> 问答> 正文

求助,利用 CURL 將圖片上傳 OSS 失敗

各位親愛的大神
小弟在程式內部想利用 CURL 的方式將圖片上傳到 OSS 服務,
奇妙的是,當在本機運行時皆正確成功,
將程式放上 ECS 後,
OSS 主機老回應 “MalformedPOSTRequest   The body of your POST request is not well-formed multipart/form-data”


程式碼如下,請各位大神給點協助,謝謝了。


<?php
  $access_id = 'my_access_id';
  $access_key = 'my_access_key';
  $policy = '{"expiration": "2120-01-01T12:00:00.000Z","conditions":[{"bucket": "my-bucket" },["content-length-range", 0, 104857600]]}';
  $policy = base64_encode($policy);
  $signature = base64_encode(hash_hmac('sha1', $policy, $access_key, true));


  $toURL = "http://my-bucket.oss-cn-hangzhou.aliyuncs.com";
  $file_folder='image/';
  $file_name='AAA.jpeg';


  $post = array(
    "OSSAccessKeyId" => $access_id,
    "policy" => $policy,
    "Signature" => $signature,
    "key" => $file_folder . $file_name,
    "file"=>"@/web/buffer/1_192_20.jpeg",
);


  $ch = curl_init();
  $options = array(
    CURLOPT_URL=>$toURL,
    CURLOPT_POST=>true,
    CURLOPT_POSTFIELDS=>$post,
  );
  curl_setopt_array($ch, $options);
  curl_exec($ch);
  curl_close($ch);
?>

展开
收起
wejir 2015-12-01 22:51:46 7263 0
3 条回答
写回答
取消 提交回答
  • 回 1楼shinenuaa的帖子
    怎么解决的,我也遇上这个问题了!求指导!
    2016-03-12 10:20:02
    赞同 展开评论 打赏
  • Re求助,利用 CURL 將圖片上傳 OSS 失敗
    已自行解決,謝謝大家。
    2015-12-02 00:04:42
    赞同 展开评论 打赏
  • 回 楼主(wejir) 的帖子
    为什么不直接用PHP SDK呢?
    2015-12-02 00:04:17
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
OSS运维进阶实战手册 立即下载
《OSS运维基础实战手册》 立即下载
OSS运维基础实战手册 立即下载