如何在不上传完整文件的情况下找到文件的真实模拟类型?

时间:2019-02-15 18:34:34

标签: node.js express file-upload multer formidable

我正在开发API以使用Node.js上传文件。文件大小可以从1 KB到1 GB不等。我只允许某些特定类型的文件,例如png,pdf,doc等,如果文件类型错误,则将错误发送给用户。

我正在为此使用强大的模块。我可以使用以下代码检查文件的类型

var form = new formidable.IncomingForm();
form.on('fileBegin', function(name, file) {
    //check file.type
});

但是这只是基于扩展名而不是真实文件类型 例如如果文件的扩展名是.pdf,它将给出application / pdf,但是如果我将扩展名更改为.html,它将给出text / html。因此,任何用户都可以通过更改文件扩展名来上传错误的文件。

我也不想在检查文件类型之前不上传整个文件。因为先上传一个1 GB的文件然后检查其文件类型是一个非常糟糕的主意

0 个答案:

没有答案