我很头疼,把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.");
}
});
});这是在我的角度控制器中:
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;
}
});它只添加了第一个文件和stucks -我没有得到任何错误,它只是stucks整个页面工作,我可以再次发送文件,但再次只有第一个文件将被上传。控制台显示req.files只有1个文件(第一个)
我在互联网上找不到任何有angular-file-upload插件的教程或任何东西,这就是为什么我问你们
发布于 2017-05-20 04:00:51
不确定你是否已经解决了这个问题,但是在发送多个文件时,'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...'})
}
});
});
https://stackoverflow.com/questions/43668100
复制相似问题