繁体   English   中英

结合角度文件上传和multer

[英]Combining angular-file-upload and multer

我非常想将角度文件上传插件与multer结合使用,使其完全具备SPA功能。 我坚持通过multer上传多个文件。

这是我的multer选项的样子:(节点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只有一个文件(第一个文件)

我在Internet上找不到带有angular-file-upload插件的任何教程或任何内容,这就是为什么我问你们

不知道您是否确定了这一点,但是随着发送多个文件,“ 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...'}) } }); }); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM