我尝试通过ji将图像上传到imgur。
我首先使用了base64代码,但我认为存储空间太大了。
我将文件类型更改为blob。
但是帖子请求状态为400。
data:{
error: "Invalid URL ("blob:http//...")",
method: "POST",
request: "/3/image"
}
或
data:{
error: "Invalid URL (Array)",
method: "POST",
request: "/3/image"
}
跟随我的代码:
async dataCallBack(file){
//file = "blob http..."
var imageFile = new File([file], "giftpack.jpg");
let response = await imgurPost(imageFile); //or file
console.log(response);
const result = response.data.data;
const link = result.link;
this.setState({url: link});
}
imgurPost(file){
return axios.post('https://api.imgur.com/3/image',
{
image: file,
type: 'URL',
album: '0gECV',
}
,
{
headers:{
'Authorization': 'Client-ID {{clientId}}',
'Authorization': 'Bearer {{accessToken}}'
}
}).catch(e=>{
console.log(e.response);
})
}
有没有办法使用blob类型?
答案 0 :(得分:0)
Blob URL仅在本地(临时)有效,因此您不能发送带有该Blob的邮件。
您可以使用FormData
。
var fd = new FormData();
fd.append('image', file);
fd.append('type', 'URL');
fd.append('album', '0gECV');
(您可以在其他地方找到将FormData
与特定的XHR帮助程序一起使用的示例。)