Node.js/ExpressでMulterというミドルウェアを使用して、画像ファイルをアップロードしようとしています。
Chrome拡張のDHCを使用してPOSTメソッドのmultipart/form-dataで画像ファイルの送信テストをしています。
ところが、req.filesとreq.bodyをconsole.logで表示させようとすると、両方とも空の状態({})になっています。当然、アップロード先のフォルダであるuploadsにも画像ファイルがアップロードされていません。
どうしたら、ファイルのアップロードが出来るようになるのでしょうか?
ソースコードなどは、以下です。
app.js
var express = require('express');
var multer = require('multer');
var app = express();
app.use(multer({ dest: './uploads/'}));
app.post('/', function(req, res){
console.log(req.body);
console.log(req.files);
res.status(204).end();
});
package.json
{
"name": "test_multer",
"version": "0.0.0",
"private": true,
"scripts": {
"start": "node ./bin/www"
},
"dependencies": {
"express": "~4.12.2",
"multer": "0.1.6"
}
}
サーバーのログ
test_multer@0.0.0 start /Users/xxxxxx/test_multer
node ./bin/www
{}
{}
POST / 204 29.988 ms - -
DHC
POSTメソッド
HEADERS
http://127.0.0.1:3000
BODY(file)
test.jpeg
image/jpeg, 29 kbytes
リクエストとレスポンスの結果
POST / HTTP/1.1
Host: 127.0.0.1:3000
Content-Type: multipart/form-data; boundary=hogehoge
Content-Length: 29857
[message-body; type:image/jpeg, size:29857 bytes]
HTTP/1.1 204 No Content
X-Powered-By: Express
Date: Tue, 02 Jun 2015 13:21:09 GMT
Connection: keep-alive
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。