![](/img/trans.png)
[英]Express Nodejs - How to pass request.files to another POST request
[英]How to clear request.files after file upload in NodeJS+Express Application?
我正在使用NodeJS + Express。 我提交了一个表格,并带有一个创建帐户的文件。 如果我要更新该帐户,并且不想更新图像。 这是我的代码:
uploadAndSave: function (image, cb) {
if (!image) return this.save(cb)
var self = this
uploader.upload({'large': 300, 'small':150}, image,function(fileName){
self.logo.filename = fileName;
self.logo.cdnUri = 'https://myapp.s3.amazonaws.com/';
self.save(cb);
});
在我的控制器中:
exports.update = function(req, res){
var account = req.account
account = _.extend(account, req.body)
account.uploadAndSave(req.files.image, function(err) {
if (err) {
res.render('accounts/edit', {
title: 'Edit Account',
account: account,
errors: err.errors
})
}
else {
res.redirect('/accounts/' + account._id)
}
})
}
req.files.image始终具有一定的价值。 我想,在首次上传文件后,此变量已设置,并且从未删除。 如何删除?
此属性是上载文件的对象。 该功能由bodyParser()中间件提供,尽管其他主体解析中间件也可以遵循此约定。 使用bodyParser()时,此属性默认为{}。
来源: http : //expressjs.com/api.html#req.files
因为它始终是对象,所以!image
总是返回true。 要检查对象是否为空,可以使用以下技术 。
我更喜欢Object.keys(obj).length === 0
尽管这仅适用于“现代”浏览器。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.