我想将二进制文件(图像)上传到接受application/octet-stream
的api。不幸的是,似乎角要改造我的请求,这不明明工作,导致 TypeError: key.charAt is not a function
我的要求是这样的:
var f = document.getElementById('file_picker').files[0],
r = new FileReader();
r.onloadend = function(e){
var fileData = e.target.result;
$http({
url: '.../upload/' + id,
method: 'PUT',
headers: {'Authorization': 'Bearer asdf',
'Content-Type': 'application/octet-stream'},
data: new Uint8Array(fileData),
transformRequest: []
})
})
r.readAsArrayBuffer(f);
这是通过卷曲我的要求,其工作原理:
curl -i -X PUT -H "Authorization: Bearer asdf" -H "Content-Type: application/octet-stream" --data-binary @jpg.jpg https://.../upload/123
有没有想法?谢谢。
不适合我这样,因为我在API中收到的内容可能是错误的。它的内容长度是15.对于图像来说不是很大。 – chrjs
更新:请求的内容是:“[object Object]”。这就是为什么内容长度是15。 – chrjs