【问题标题】:How can I validate file type before upload use SailsJS Skipper如何在上传使用 SailsJS Skipper 之前验证文件类型
【发布时间】:2015-08-31 03:30:24
【问题描述】:

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

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
  });
}

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

【问题讨论】:

  • 您好,您找到解决办法了吗?
  • @KrunalPanchal 你可以看看我的回答来帮助你自己

标签: javascript node.js sails.js bluebird skipper


【解决方案1】:

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

你可以看看他的回答 here

主要是要注意这一点

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

至少你可以做任何你选择的操作。

【讨论】:

  • 问题是在没有上传的情况下调用 req.file('foo') 导致我的应用程序崩溃错误:EMAXBUFFER
猜你喜欢
  • 2018-02-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-03
  • 1970-01-01
  • 1970-01-01
  • 2019-01-19
  • 1970-01-01
  • 2010-09-09
相关资源
最近更新 更多