【发布时间】:2018-07-15 18:21:09
【问题描述】:
我是 node.js 的新手,我从各种来源(例如训练营、网站等)学习它。 我想使用 node.js 和 express.js 框架中的强大模块上传文件。每次我运行这段代码时,它都会显示一个错误......
var oldpath = file.fileupload.path;
^
TypeError: Cannot read property 'path' of undefined
我已经使用正文解析器来接收文件名。
Node.js 代码:
var express = require("express");
var app = express();
var bodyParser = require("body-parser");
var formidable = require("formidable");
var fs = require("fs");
var PORT = process.env.PORT || 5000
app.set("view engine","ejs");
app.use(bodyParser.urlencoded({extended: true}));
app.get("/" , function(req, res){
res.render("form");
});
app.post("/fileupload" , function(req, res){
var fileupload = req.body.filetoupload;
var form = new formidable.IncomingForm();
form.parse(req, function(err, fields, files){
var oldpath = files.fileupload.path;
var newpath = "C:/Users/ayush/"+files.fileupload.name;
fs.rename(oldpath, newpath, function(err){
if(err)
console.log(err);
else{
res.write("File Uploaded");
res.end();
}
});
});
});
app.listen(PORT, function(){
console.log("Server started");
});
<!DOCTYPE html>
<html>
<head>
<title>FileUpload</title>
</head>
<body>
<form action="/fileupload" method="POST">
<label>
File:
<input type="file" name="filetoupload" enctype="multipart/form-data">
</label>
<button>Submit</button>
</form>
</body>
</html>
【问题讨论】:
标签: html node.js express formidable