GridFS 二进制到 URL
GridFS Binary to URL
有没有办法将 GridFS 二进制文件转换为可以在 src 上使用的 URL?
让我解释一下:
当 GridFS 将图像存储在 mongoDB 上时,它会创建文件 (fs.files & fs.chunks)。
在 fs.chunks 中,数据存储如下:
_id:ObjectID('')
files_id:ObjectID('')
n:0
data:Binary('/9j/4S...',0)
是否存在任何方法可以将作为图像(准确地说是 jpg)的二进制文件转换为对 HTML img 标签有效的 URL?
某种 URL.createObjectURL()
顺便说一句,我试图将二进制文件传递给 URL.createObjectURL() 并且显示的错误如下:
TypeError: URL.createObjectURL: Argument 1 is not valid for any of the 1-argument overloads.
提前致谢。
好的,我终于在另一个问题上找到了对我的问题有帮助的答案:
Creating a BLOB from a Base64 string in JavaScript
此处,将 base64 二进制文件 GridFS 二进制文件转换为 Blob 对象。那么Blob对象就可以很方便的通过“URL.createObjectURL()”
答案中提供了base64转blob的函数
我希望这对其他人有帮助。
有没有办法将 GridFS 二进制文件转换为可以在 src 上使用的 URL?
让我解释一下:
当 GridFS 将图像存储在 mongoDB 上时,它会创建文件 (fs.files & fs.chunks)。 在 fs.chunks 中,数据存储如下:
_id:ObjectID('')
files_id:ObjectID('')
n:0
data:Binary('/9j/4S...',0)
是否存在任何方法可以将作为图像(准确地说是 jpg)的二进制文件转换为对 HTML img 标签有效的 URL?
某种 URL.createObjectURL()
顺便说一句,我试图将二进制文件传递给 URL.createObjectURL() 并且显示的错误如下:
TypeError: URL.createObjectURL: Argument 1 is not valid for any of the 1-argument overloads.
提前致谢。
好的,我终于在另一个问题上找到了对我的问题有帮助的答案:
Creating a BLOB from a Base64 string in JavaScript
此处,将 base64 二进制文件 GridFS 二进制文件转换为 Blob 对象。那么Blob对象就可以很方便的通过“URL.createObjectURL()”
答案中提供了base64转blob的函数
我希望这对其他人有帮助。