我正在使用Node.js作为服务器,并尝试通过表单将文件上传到服务器。我检查了其他职位,其中大部分建议采取下列措施,但我打印完整的REQ,并不能找到大多数建议方案领域:
形式:
<form method="POST" action="/imageupload">
<input type="file" name="image" id="image" accept="image/jpeg, image/png"/> <br/>
<input type="submit" value="Search" name="search" id="search" />
</form>
在服务器中:
app.post('/imageupload', function (req, res){
//var imgPath = req.files.image;
console.log(req);
});
这是我在要求中发现的与其他帖子所建议的不同的内容:
headers:
{ host: 'localhost:8081',
connection: 'keep-alive',
'content-length': '33',
'cache-control': 'max-age=0',
accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
origin: 'http://localhost:8081',
'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36',
'content-type': 'application/x-www-form-urlencoded',
dnt: '1',
referer: 'http://localhost:8081/',
'accept-encoding': 'gzip, deflate',
'accept-language': 'en-US,en;q=0.8,ja;q=0.6,zh-CN;q=0.4,zh-TW;q=0.2',
cookie: 'JSESSIONID=89875bd29370ecf4ae585822f40c; treeForm_tree-hi=treeForm:tree:updateCenterPlugIN; connect.sid=s%3AJJfmZcGvlE388fwSVSNeoQ6Y0hV55Wur.VQdPuxk0W%2BHHt2zmKLlBxqdUFFXJumtGOOcQVcoeJSI' },
body: { file: 'sampleimg.jpg', search: 'Search' },
我找不到任何指示文件的字段,访问它会导致服务器错误:
TypeError: Cannot read property 'image' of undefined
因此,我不确定出了什么问题。有人可以建议吗?
将表格更改为
<form method="POST" action="/imageupload" enctype="multipart/form-data">
添加enctype
。正如文档所说,当我们上传文件时,这是必需的。
body-parser
仅处理JSON。为了处理这个问题,multipart
我建议您使用connect-busboy。它处理多部分表单数据。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句