HTTP API上传图片 最后一步返回这个错误 什么意思啊
<?xml version='1.0' encoding='utf-8' ?>
<Error>
<Code>MethodNotAllowed</Code>
<Message>The specified method is not allowed against this resource.</Message>
<Resource>cos.ap-shanghai.myqcloud.com/7765-weimin-s5l9y-1302279841/index</Resource>
<RequestId>NWYxZDY4MDZfMmY5ZDA4MDlfODAwNF8xNmFiNzUy</RequestId>
<TraceId>OGVmYzZiMmQzYjA2OWNhODk0NTRkMTBiOWVmMDAxODc0OWRkZjk0ZDM1NmI1M2E2MTRlY2MzZDhmNmI5MWI1OTczMmZiNDZmZjBmNTVjMGU4NTViNDhhYWVjNzNkNzI4YTVkZGJiNmM4OGZlNjMyYjJlZDA4ODBhZDdlNjY0YjY=</TraceId>
</Error>
multipart/form-data; charset=utf-8; boundary=__X_PAW_BOUNDARY__"
__X_PAW_BOUNDARY_ 这个值是什么?
分享一下,看能帮助其它人吗,同样MethodNotAllowed错误,我发现不是服务器端问题,而是的客户端平台问题。我用的字节跳动的小程序平台:
data:是https://api.weixin.qq.com/tcb/uploadfile?access_token返回值
fileinfo:是tt.chooseImage后再tt.getImageInfo值
部分代码如下,核心思想是不能用tt.request方法,而是要用字节带的tt.uploadFile方法,就解决了,代码如下:
const fileSystemManager = tt.getFileSystemManager();
var filedata = fileSystemManager.readFileSync(fileinfo.path, "base64");
tt.uploadFile({
url: data.url,
filePath: fileinfo.path,
contentType: "multipart/form-data; charset=utf-8; boundary=__X_PAW_BOUNDARY__",
name: "file",
formData: {
"Signature": data.authorization,
"key": filepath,
"x-cos-security-token": data.token,
"x-cos-meta-fileid": data.cos_file_id,
"file": {
value: filedata,
options: {
filename: filename,
contentType: fileinfo.type
}
}
},
success(res) {
console.log("uploadfile 调用成功", res);
// if (res.data.errcode != 0) {
// reject(res.data);
// } else {
resolve(res);
// }
},
fail(err) {
console.log("uploadfile 调用失败:", err);
reject(err);
}
})
能发帖求助的肯定找了很久问题,我是这个问题我觉得很隐蔽了,这个解决了就上传成功了,特意来回复下!contentType后要带上 boundary=---XXXXXX
就是这样:
contentType":"multipart/form-data; boundary=---------------------------7db1851cd1158",
使用multipart/form-data
我也是这个问题,太难了
老哥成功了吗,我也是这个问题,太难了