如何在使用loopback-component-storage在容器中上传文件之前检查文件格式?

时间:2016-02-24 06:08:42

标签: javascript node.js api file-upload loopbackjs

我试过这种方式sample code。 我可以成功上传文件,但在此之前我必须验证文件类型并且只允许* .csv文件。

2 个答案:

答案 0 :(得分:0)

您可以使用mime节点模块。 https://www.npmjs.com/package/mime

答案 1 :(得分:0)

您必须按如下方式补充sample code

  1. 编辑common/models/container.js,添加到存储数据源 {{1}}字段,您想要支持的mime types数组

    ...
     "storage": {
         "name": "storage",
         "connector": "loopback-component-storage",
         "provider": "filesystem", 
         "root": "/var/www/storage",
         "maxFileSize": "52428800",
         "allowedContentTypes":["text/csv", "application/vnd.ms-excel"]
     }
    ...
    
  2. 此步骤可选,但这是一个很好的做法。错误可以在回调中处理,也可以在容器模型文件{{1}}中添加remote hook

     module.exports = function (container) {
       container.afterRemoteError('upload', function (ctx, next) {
        //do any with ctx.error
      });
     }