【问题标题】:Combining angular-file-upload and multer结合 angular-file-upload 和 multer
【发布时间】:2017-04-27 21:20:15
【问题描述】:

我很头疼将角度文件上传插件与 multer 结合起来使其完全成为 SPA。我坚持通过 multer 上传多个文件。

这就是我的 multer 选项的样子:(node route.js 文件)

var upload = multer({
    storage: storage,
    limits: {
        //fileSize: 819200
    }
}).array('myFile');

这是我的 POST:(节点 route.js 文件)

router.post('/add/file', function(req, res, next) {
    upload(req,res,function(err) {
        console.log(req.files);
        if(err) {
            console.log("Error uploading file.");
        }
    });
});

这是在我的角度控制器内:

var uploader = $scope.uploader = new FileUploader({
    url: 'http://localhost:3000/add/file',
    alias: 'myFile'
});

uploader.filters.push({
    name: 'imageFilter',
    fn: function(item /*{File|FileLikeObject}*/, options) {
        var type = '|' + item.type.slice(item.type.lastIndexOf('/') + 1) + '|';
        return '|jpg|png|jpeg|bmp|gif|'.indexOf(type) !== -1;
    }
});

它只添加了第一个文件并卡住了 - 我没有收到任何错误它只是卡住了 - 整个页面都可以正常工作,我可以再次发送文件,但只会上传第一个文件。控制台显示req.files 只有一个文件(第一个)

我在互联网上找不到任何关于 angular-file-upload 插件的教程或任何东西,这就是我问你们的原因

【问题讨论】:

    标签: javascript angularjs node.js multer angular-file-upload


    【解决方案1】:

    不确定您是否已经解决了这个问题,但是通过发送多个文件,“uploadAll”函数在收到来自服务器的响应之前不会发送下一个文件。所以路线应该是这样的。我还在文档中的某处看到响应需要是 json ......虽然没有测试这是否是真的

    router.post('/add/file', function(req, res, next) {
        upload(req,res,function(err) {
            console.log(req.files);
            if(err) {
                console.log("Error uploading file.");
            } else {
            res.status(200).json({response: 'some response...'})
           }
        });
    });

    【讨论】:

      猜你喜欢
      • 2017-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-17
      • 1970-01-01
      • 1970-01-01
      • 2017-10-20
      相关资源
      最近更新 更多