【发布时间】:2021-03-01 20:35:01
【问题描述】:
所以我正在尝试使用静态 html 文件和 node.js 服务器中的表单来上传文件。服务器加载我的静态 HTML 文件并做出响应 - 没有错误,但文件不会上传。以下是我的文件。也许他们缺少什么?
Node.js 文件:
var http = require("http");
var qs = require("querystring")
var fs = require("fs");
var formidable = require('formidable');
var server = http.createServer(function(req,response){
switch (req.method) {
case "GET":
fs.readFile("static/index01.html", function (error, data) {
if (error) {
response.writeHead(404, { 'Content-Type': 'text/html' });
response.write("<h1>błąd 404 - file dosen't exiist!<h1>");
response.end();
}
else {
response.writeHead(200, { 'Content-Type': 'text/html' });
response.write(data);
response.end();
}
});
break;
case "POST":
function servResponse(){
let form = formidable({})
form.uploadDir = "/static/upload/"
form.parse(req, function (err, fields, files) {
response.writeHead(200, { 'content-type': 'text/plain;charset=utf-8' });
response.end("file uploaded");
});
}
servResponse(req, response)
break;
}
})
server.listen(3000, function(){
console.log("server start on 3000 port")
});
和正文 HTML 文件 - index01.html:
<body>
<form method="POST">
<input type="file">
<button type="submit"> upload</button>
</form>
</body>
【问题讨论】: