我正在尝试创建一个HTML表单,它可以将上传的文件传递给服务器,以便稍后在页面上显示该文件。我正在使用静态快递,所以我可以将文件上传到'public'文件夹。当涉及到JavaScript,node.js和像express这样的模块时,我不是一个经验丰富的编码器。
这就是我认为代码的样子,但我不知道如何在HTML表单和服务器之间建立连接。
app.get('/upload', function(req, res){
res.redirect('/uploadingForm.html');
var form = new formidable.IncomingForm();
form.parse(req, function (err, fields, files) {
var oldpath = files.filetoupload.path;
var newpath = __dirname + '/public/' + files.filetoupload.name;
filePath = newpath;
console.log(filePath);
fs.rename(oldpath, newpath, function (err) {
if (err) throw err;
response.write('File uploaded and moved!');
}
}
});
uploadForm.html看起来像这样
<html>
<form action="fileupload" method="post" enctype="multipart/form-data">
<input type="file" name="filetoupload"><br>
<input type="submit">
</form>
</html>
你的方法是POST(method =“post”)但是你已经定义了路由GET(app.get)