如何在使用javascript实际开始下载之前确定下载文件类型?

时间:2017-03-30 16:45:45

标签: javascript

我正在开发一个chrome扩展,我需要确定该文件的原始类型,如果遇到某种类型的文件,请停止下载。 要确定文件类型,我有以下代码。如何在实际下载之前使用此代码选择下载文件。

 const xhr = new XMLHttpRequest();
 xhr.open('GET', 'unicorn.png');
 xhr.responseType = 'arraybuffer';

 xhr.onload = () => {
 fileType(new Uint8Array(this.response));
 //=> {ext: 'png', mime: 'image/png'}
 };

 xhr.send();

文件类型应使用“魔术数字”而不是字符串匹配来确定。

2 个答案:

答案 0 :(得分:0)

.responseType设为"blob",查看.type的{​​{1}}

Blob

答案 1 :(得分:0)

尝试使用此节点模块文件类型。这应该符合您的目的 https://www.npmjs.com/package/file-type