我正在努力将文件名从server/app.js传递到client/app/中的控制器。
我正在使用Multer处理文件上传,它工作得很好,但我需要将文件名传递回客户端,以便在下一个视图中显示它。
下面是我的代码:
server/app.js
app.use(multer({ dest: 'client/assets/uploads',
rename: function (fieldname, filename) {
return filename+Date.now();
},
onFileUploadStart: function (file) {
console.log(file.originalname + ' is starting ...')
},
onFileUploadComplete: function (file) {
console.log(file.fieldname + ' uploaded to ' + file.path)
done=true;
}
}));
app.post('/api/photo',function(req,res){
if(done==true){
photoName = req.files.userPhoto.name;
res.json(photoName);
}
});它显示了新的文件名,但我需要它是可用的形式,并且当我在服务器端执行所有这些操作时,我的控制器中没有任何东西来处理传入的响应。
任何帮助都将不胜感激。
发布于 2015-06-16 20:31:07
好了,在与这个问题斗争了一天之后,我得到了一个有效的解决方法,所以我想我应该和你分享它,但真的必须有一个更干净,更优雅的方式来做这件事:
app.post('/api/photo',function(req,res){
if(done==true){
photoName = req.files.userPhoto.name;
photoName = encodeURIComponent(photoName);
res.redirect('../course?img=' + photoName);
}
});只需在查询字符串中发送我需要的数据,然后在客户端获取它。
如果有人能改进这一点,请发帖。
干杯。
https://stackoverflow.com/questions/30856266
复制相似问题