我是 Node.js 的新手。我只是想学习使用 ajax 上传和显示图像,就像我在 php 中所做的那样。我发现大多数教程对我来说都很困难。为了开始使用,我尝试使用此代码
var express = require("express");
var app = express()
var bodyParser = require('body-parser')
//all environment
app.use(bodyParser())
var form = "<!DOCTYPE HTML><html><body>" +
"<form method='post' action='/upload' enctype='multipart/form-data'>" +
"<input type='file' name='image'/>" +
"<input type='submit' /></form>" +
"</body></html>";
app.get('/', function (req, res){
res.writeHead(200, {'Content-Type': 'text/html' });
res.end(form);
});
/// Post files
app.post('/upload', function(req, res) {
console.log('Hello world');
console.log(req.files);
});
app.listen(8080)
但是 req.files 未定义。有人能告诉我为什么吗?如果这是一个愚蠢的问题,请原谅我。并且还可以帮助提供一些资源。提前谢谢您。
最佳答案
req.files 适用于 Express v3,您正在使用 v4。
现在 body-parser 只处理 urlencoded 和 json 正文。 对于多部分主体,您应该使用替代方案。
https://github.com/expressjs/body-parser
例如,使用 multer:
var express = require('express')
var multer = require('multer')
var app = express()
app.use(multer({ dest: './uploads/'}))
/// Post files
app.post('/upload', function(req, res) {
console.log('Hello world');
console.log(req.files);
});
app.listen(8080)
关于javascript - 如何在 Node.js 中上传图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23971962/