我有一个Node.js网络应用程序。在应用程序中我使用Express。我需要让用户上传图片。为此,我在网上查看了一些示例,但似乎都没有满足我的需求。具体来说,我想获取上传的文件,将其保存到本地磁盘,并对其进行一些操作。现在,我有以下内容:
const app = this;
const multer = require('multer')
const upload = multer({ dest: 'uploads/' })
app.post('/picture/upload', upload.single('myPicture'), function(req, res) {
console.log('uploaded');
var picture = req.file;
console.log(picture);
res.send({ id: 1, fileName: 'info', originalName: 'name' });
});
当我从网页上传文件时,我在控制台窗口中看到以下内容:
uploaded
undefined
当我查看Fiddler时,我可以看到图像正在传递给服务器。它就像我没有"访问"它恰当。如何在Node中的服务器端获取上传文件?
更新: 应响应者的要求:
req.headers:
{ host: 'localhost:1337',
connection: 'keep-alive',
'content-length': '395665',
accept: 'application/json, text/plain, */*',
origin: 'http://localhost:1337',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36',
'content-type': 'multipart/form-data; boundary=----WebKitFormBoundary[someRandomCharacters]',
referer: 'http://localhost:1337/picture',
'accept-encoding': 'gzip, deflate, sdch, br',
'accept-language': 'en-US,en;q=0.8',
cookie: ''
}
req.body:
{ myPicture: 'data:image/png;base64,[LONG STRING OF ALPHANUMERIC CHARACTERS]' }
谢谢!
答案 0 :(得分:0)
您可以使用此req.files
访问文件类型输入。
试试console.log(req.files)
req.files
将返回所有上传的文件。