gpt4 book ai didi

javascript - 结合 Angular 文件上传和 multer

转载 作者:行者123 更新时间:2023-12-03 04:26:57 26 4
gpt4 key购买 nike

我很头疼如何将 Angular 文件上传插件与 multer 结合起来,使其完全 SPA。我坚持通过 multer 上传多个文件。

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

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

这是我的帖子:( Node 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.");
}
});
});

这是在我的 Angular Controller 内:

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 只有 1 个文件(第一个文件)

我在互联网上找不到任何教程或任何带有 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...'})
}
});
});

关于javascript - 结合 Angular 文件上传和 multer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43668100/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com