检查请求文件是否为zip类型

时间:2018-07-09 08:25:16

标签: node.js file file-type

我使用以下代码从邮递员那里获取单个文件/ zip。

在请求中,我要求文件的原始名称,并且可以检查文件originalname是否包含.zip,是否有更好的方法检查它是单个文件还是zip?

update function (req, res) {
        if (req.file) {

2 个答案:

答案 0 :(得分:2)

过去,我不得不这样做,而我发现的最干净的方法是从请求中检查文件的mimetype

if(req.file.mimetype === 'application/zip')

奖金,不需要外在补习。

答案 1 :(得分:0)

您只需使用 file-type module 即可做到这一点。

file-type

  

检测Buffer / Uint8Array的文件类型

文件类型(输入)

  

通过以下方式返回Object

  • ext-受支持的文件类型之一

  • mime-MIME类型

  • null(如果不匹配)。

用法:

这是检查文件类型的方法:

const readChunk = require('read-chunk');
const fileType = require('file-type');
const buffer = readChunk.sync('myFile.zip', 0, 4100);

if (fileType(buffer).ext == "zip")) {
  console.log("Zip file loaded");
}