{"error":"invalid multipart format"} 这是什么原因,我已经在HEADER中设置了Content-type:multipart/form-data

用CULR向七牛的API上传文件 每次总是invalid multipart format 但是我已经设置了Content-type:multipart/form-data呀

function uploadFile($localPath, $remoteFileName, $headers=array()){
    global $conf;
    $remoteFileName = trim($remoteFileName,'/');
    $policy =  array('scope' => $conf['bucket'] . ':' . $remoteFileName, 'deadline' => time() + 3600);
    $encodedFlags = encode(json_encode($policy));
    $sign = hash_hmac('sha1', $encodedFlags, $conf['sk'], true);
    $encodedSign = encode($sign);
    $token = $conf['ak'].':'.$encodedSign. ':' . $encodedFlags;
    $fields = array(
        'token' => $token,
        'key'   => $remoteFileName,
        'file' => '@'.$localPath
    );
    $curl = Magecho_HttpClient::get();
    $curl->setOptions(array('gzip'=>false))->setHeader(array(
        'Content-type:multipart/form-data'
    ))->post($conf['host']['up'] ,$fields);
    return $curl->response();
}
function encode($str) {
    $find = array('+', '/');
    $replace = array('-', '_');
    return str_replace($find, $replace, base64_encode($str));
}
$result = uploadFile('pic.jpg',date('Y-m-d-H-i-s').'.jpg');
echo $result;
阅读 17.8k
3 个回答
新手上路,请多包涵

post数据$fileds不需要encode吗?

新手上路,请多包涵

解决了吗 我也遇到一样的问题

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
七牛云问答
子站问答
访问
宣传栏