var express = require("express"); var bodyParser = require("body-parser"); var app = express(); app.use(bodyParser.urlencoded({ extended: true })); app.get('/', function(req, res) { res.sendFile(__dirname + '/www/index.html') }); app.post('/regist',function(req,res){ var user=req.body.user; var email=req.body.email; var boards = req.body.boards; var html = '暱称:' + user + '<br>' + '电邮:' + email + '<br>' + '控制板:' + boards.toString(); res.send(html); }); app.get('*', function(req, res) { res.status(404); res.send('找不到网页!'); }); app.listen(5438, function(req, res) { console.log("网站服务器在5438端口开工了!"); });该程序以POST方式接收表单提交,并了解POST和GET请求的区别。 此外,百度一下,如何使用POST方式提交一个文件到服务器端?
时间: 2024-03-07 17:47:45 浏览: 66
nodejs body-parser 解析post数据实例
要使用POST方式提交文件到服务器端,需要使用表单的enctype属性将表单的编码类型设置为multipart/form-data。同时,需要使用input元素的type属性设置为file,允许用户选择要上传的文件。服务器端需要使用中间件处理上传的文件。在Node.js中,可以使用multer中间件来处理文件上传。
以下是一个简单的示例代码,实现了使用POST方式上传文件到服务器端:
```html
<!DOCTYPE html>
<html>
<head>
<title>上传文件</title>
</head>
<body>
<h1>上传文件</h1>
<form action="/upload" method="post" enctype="multipart/form-data">
<label for="file">选择文件:</label>
<input type="file" name="file"><br><br>
<input type="submit" value="上传">
</form>
</body>
</html>
```
```javascript
var express = require("express");
var bodyParser = require("body-parser");
var multer = require("multer");
var app = express();
app.use(bodyParser.urlencoded({ extended: true }));
// 设置文件上传的目录和文件名
var storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, 'uploads/')
},
filename: function (req, file, cb) {
cb(null, file.originalname)
}
})
var upload = multer({ storage: storage })
app.get('/', function(req, res) {
res.sendFile(__dirname + '/upload.html');
});
// 处理文件上传的请求
app.post('/upload', upload.single('file'), function(req, res) {
res.send('文件上传成功!');
});
app.get('*', function(req, res) {
res.status(404);
res.send('找不到网页!');
});
app.listen(5438, function(req, res) {
console.log("网站服务器在5438端口开工了!");
});
```
在这个示例中,我们将表单的enctype属性设置为multipart/form-data,同时使用了multer中间件处理上传的文件。使用upload.single()方法可以处理单个文件上传,其中的参数是input元素的name属性值。在上传成功后,服务器端会返回“文件上传成功!”的消息。
阅读全文