如何从具有远程URL的img标记中检索图像并从中创建File对象

时间:2019-07-15 03:31:06

标签: javascript reactjs

步骤:

我有一个远程图片网址。

我从中生成了img标签。

现在,我想阅读此img标记并将其转换为File对象,以便可以将其发送到服务器进行上传。

方法1尝试过:我已经尝试过fetch方法,并直接尝试从远程url中获取图像数据。

方法2尝试过:

function transitionsWithErrorHandler(transitions) {
  return {
    ...transitions,
    "unexpected-error": { actions: /*...*/ }
  }
}

// ...
states: {
  foo: {
    on: transitionsWithErrorHandler({
      EVENT: 'bar',
      ANOTHER_EVENT: 'baz'
    })
  }
}

期望的输出是File对象。

1 个答案:

答案 0 :(得分:0)

我在这里使用axios,但原理应相同:

const res = await axios.get(`/api/image/${imageId}`, {
responseType: 'arraybuffer'
});
const imgFile = new Blob([res.data]);
const imgUrl = URL.createObjectURL(imgFile);

忽略响应类型。