【发布时间】:2016-05-15 02:58:09
【问题描述】:
网上有很多关于 Node.js Express 框架文件上传的例子。但他们中的大多数都在使用 multer。所有这些都是从表单加载文件。
但我的情况不同。我的应用程序将从手机中选择一张图片并上传到服务器(通过使用 Ionic 中的 cordova-file-transfer 插件)。在这种情况下,我根本没有表格。这样就没有req.files。有什么建议吗?谢谢。
附注: 这是我服务器中的日志记录我的 http 标头:
{ host: 'localhost:3000',
'x-requested-with': 'XMLHttpRequest',
accept: '*/*',
'content-type': 'multipart/form-data; boundary=+++++org.apache.cordova.formBoundary',
'content-length': '23394',
'accept-language': 'en-us',
'accept-encoding': 'gzip, deflate',
connection: 'keep-alive',
'user-agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 9_2 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Mobile/13C75 (2079040640)' }
我的服务器代码:
app.post('/', multer({dest:'./uploads/'}).single('upl'),(req,res) => {
console.dir(req.headers)
console.dir(req.body)
res.status(204).end()
})
在我的例子中显然没有定义“upl”。
【问题讨论】:
-
将 cordova-plugin-file-transer 的选项
fileKey设置为upl。 -
我试试看。谢谢。
-
@stdob,对不起,我不太明白。基于 Multer 文档,我应该在 upl 中添加 req.file。这意味着我必须创建一个 file 对象。但是文件来自表单内的 ,如何手动创建 file 对象?
-
@stdob,它有效。谢谢。
标签: node.js express ionic-framework multer