有没有办法上传blob网址图片到imgur?

时间:2018-03-17 07:29:23

标签: javascript imgur

我尝试通过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类型?

1 个答案:

答案 0 :(得分:0)

Blob URL仅在本地(临时)有效,因此您不能发送带有该Blob的邮件。

您可以使用FormData

var fd = new FormData();
fd.append('image', file);
fd.append('type', 'URL');
fd.append('album', '0gECV');

(您可以在其他地方找到将FormData与特定的XHR帮助程序一起使用的示例。)