10

正如标题,现在我无法在上传前检查文件类型。我只验证文件上传成功后不允许保存数据。下面是基本代码

updateAvatar : function(data, context, req, res) {
  req.file('avatar').upload({
      dirname: '../../assets/images/avatar'
    }, function (err, files) {

    var allowExts = ['image/png', 'image/gif', 'image/jpeg'];

    if (err)
      return res.serverError(err);

    if (files.length === 0) 
      return res.badRequest('No file was uploaded!');

    if (allowExts.indexOf(files[0].type) == -1)
      return res.badRequest('File type is not supported!');

    // save database here
  });
}

我应该怎么做才能获得正确的代码?对不起,我的英语不好!非常感谢!

4

1 回答 1

6

这花了我时间研究,所有的功劳归功于 Darkstra,他告诉我们在哪里可以获得原始文件属性,比如内容类型甚至文件名,我们可以在哪里拆分以获取文件扩展名并进行检查

你可以在这里查看他的答案

主要是要注意这一点

req.file('foo')._files[0].stream其中包含我们处理文件所需的所有内容,您可以对其进行 console.log 以查看其内容。

至少您可以根据自己的选择进行任何操作。

于 2017-07-23T15:50:58.900 回答