php - {"error":"invalid multipart format"} 这是什么原因,我已经在HEADER中设置了Content-type:multipart/form-data
巴扎黑
巴扎黑 2017-04-10 14:31:28
[PHP讨论组]

用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;
巴扎黑
巴扎黑

全部回复(2)
ringa_lee

post数据$fileds不需要encode吗?

高洛峰

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号