在electron里, 设置image的src为一个object url不起作用

我在写一个electron应用("electron": "^5.0.9", on windows 10 1903), 有一个nodejs的buffer(Uint8Array)("node": "v10.6.0")包含有数据, 像"[255, 216, 255, 224, 0, 16,...". MIME type是"image/jpeg"

我试着从这个buffer创建一个object url来作为一个图片的"src", 但图片不显示

我试过把这个buffer存为一个jpg来验证其正确性, 成功了

Network工具里, 有一个请求被发送到blob:file:///60cb1522-25d2-44e9-982d-21e2106dddf8并且状态码200

代码如下

const imgBlob = new Blob(buffer, { type: `image/jpeg` })
const imgUrl = window.URL.createObjectURL(imgBlob)
document.querySelector(`img`).src = imgUrl

期望: 图片正确显示
实际: 图片没显示

求有识之士解答

阅读 4.2k
1 个回答

自己解决了

依据MDN的描述

var aBlob = new Blob(array [, options]);

array is an Array of ArrayBuffer, ArrayBufferView, Blob, DOMString objects, or a mix of any of such objects, that will be put inside the Blob. DOMStrings are encoded as UTF-8.

Blob()

文档看漏眼了, 所以只需要一个[ ]就行了, 像这样

const imgBlob = new Blob([buffer], { type: `image/jpeg` })

哔了?了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题