我正在处理一个API,它是以arraybuffer
类型获取文件数据的。我的主要问题是,如果我需要将arraybuffer
转换为BLOB
来查看文件,则需要知道arraybuffer
文件的MIME类型。
var file1 = new Blob([response], { type: file.type });
var fileURL = URL.createObjectURL(file1);
在上面的代码片段中,response
是一个arraybuffer
,我得到的mime类型是在上传时存储在一个变量中的,但是现在的情况是我手中没有任何mime类型,所以我需要一种方法来得到它。
这是我的回应标头:
这是我的身体样本
有谁能给我点建议吗?
2条答案
按热度按时间xqnpmsa81#
我发现下面这个包非常有趣。它解析数组缓冲区/blob/流,并尝试猜测它的扩展名和mime类型,如果它是一个文件。显然它不是详尽的,但你可以在自述文件中找到扩展名列表。工作在节点和浏览器。工作为我的需要,虽然。
下面是回购链接:https://github.com/sindresorhus/file-type
vjhs03f72#
file-type
的替代方案,似乎也使用了魔术签名:灵感源自https://medium.com/the-everyday-developer/detect-file-mime-type-using-magic-numbers-and-javascript-16bc513d4e1e