【发布时间】:2016-06-02 14:25:36
【问题描述】:
我正在尝试使用 multipart 在节点 js 中上传文件,但出现无法 POST 错误?我对节点 js 完全陌生。所以你能帮我做错什么吗 我的代码? HTML
<form id = "uploadForm"
enctype = "multipart/form-data"
action = "/api/uploadfile"
method = "post">
<input type="file" name="fileUpload"/>
<input type="submit" value="Upload File" name="submit">
</form>
服务器.js
var express = require('express');
var app = express();
var multer = require('multer');
app.use(express.static(__dirname));
app.get('/', function(request, response){
response.sendFile("./index.html");
});
var storage = multer.diskStorage({
destination: function (req, file, callback) {
callback(null, './uploads');
},
filename: function (req, file, callback) {
callback(null, file.fieldname + '-' + Date.now());
}
});
var upload = multer({ storage : storage}).single('fileUpload');
app.post('/api/uploadfile',function(req,res){
upload(req,res,function(err) {
if(err) {
return res.end("Error uploading file.");
}
res.end("File is uploaded");
});
});
app.listen(8080);
console.log("App listening on port 8080");
错误信息如下:
上传文件时出错
【问题讨论】:
-
您似乎正在请求未在您的节点服务器中注册的路由。您能否交叉检查浏览器请求的 URL 以上传文件。
-
你的代码完全没问题,我什至在我的机器上运行它。文件正在上传。除了你错过了
<form>的结束标签 -
@Nivesh 我已经关闭了我的代码上的表单错过了这里,没有代码对我不起作用我总是收到错误消息
-
@JitendraKhatri 你能解释清楚我是节点开发的菜鸟
-
控制台记录你从 multer 得到的错误
标签: javascript node.js multer