作者luckid (luckid)
看板Ajax
標題[node] 上傳檔案問題
時間Fri Nov 20 11:58:31 2015
各位先進好,
目前小弟在學習nodejs,
並試著用express+multer middleware去實作檔案上傳,
server.js檔程式碼如下:
---------------------------------------------------------
var express = require('express');
var app = express();
var fs = require("fs");
var router = express.Router();
var bodyParser = require('body-parser');
var multer = require('multer');
var upload = multer({ dest: '/uploads/' })
app.use(express.static('public'));
app.use(bodyParser.urlencoded({ extended: false }));
app.use(multer({ dest: '/uploads/'}).single('file'));
app.get('/index.htm', function (req, res) {
res.sendFile( __dirname + "/" + "index.htm" );
})
app.post('/file_upload', upload.single('file'), function(req, res, next){
console.log(req.body);
console.log(req.files);
});
var server = app.listen(8081, function () {
var host = server.address().address
var port = server.address().port
console.log("Example app listening at
http://%s:%s", host, port)
})
---------------------------------------------------------
html檔程式碼如下:
-----------------------
<html>
<head>
<title>File Uploading Form</title>
</head>
<body>
<h3>File Upload:</h3>
Select a file to upload: <br />
<form action="
http://127.0.0.1:8081/file_upload" method="POST"
enctype="multipart/form-data">
<input type="file" name="file" size="50" />
<br />
<input type="submit" value="Upload File" />
</form>
</body>
</html>
-----------------------------------------------
用node運行server.js,
在瀏覽器上跑html檔,
試著上傳檔案,
瀏覽器下方會顯示正在等候127.0.0.1..
編輯器(我是用notepad++)這邊會顯示
Example app listening at
http://:::8081
{}
undefined
最後瀏覽器會顯示沒有收到資料,
不知問題出在哪裡,
希望有前輩能不吝指點,感謝.
--
https://www.youtube.com/watch?v=B_CMmbFexbM
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.125.131.218
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Ajax/M.1447991917.A.97A.html
1F:推 foreverangle: 你用的是single所以要用req.file 11/20 21:39
2F:→ foreverangle: array在是req.files 11/20 21:43
3F:→ luckid: 感謝前輩,我再試試看 11/20 23:58
4F:→ luckid: 問題已解決, 再次感謝 11/21 00:05