LoginSignup
0
0

More than 5 years have passed since last update.

Node.js + multer でのファイルアップロード

Last updated at Posted at 2017-12-04

Node.jsのサーバ上でファイルを受け取る処理が必要になったので、調べながらゴリゴリ書いていたらつまづいたので、ここにまとめておく。

環境構築

npm install multer --save

ここはいつも通りなのですんなりと終わらせた。

サーバ側実装

upload.js
...
const multer = require("multer");
...
router.post('/upload', function(req, res, next) {
    let upload = multer({ dest: '../tmp/' }).single('file');
    upload(req, res, function(err) {
        dataProcess(req)
                .then(function(){
                    ...
                })
                .catch(function(error){
                    ...
                });
    });
});

ここで数時間つまづいた。

何が問題だったの?

どこが原因だったかといえばここ↓
let upload = multer({ dest: '../tmp/' }).single('file');
いろいろ調べたところ、1ファイルのときは「.single()」を使うというところまでは分かったのだけども、その引数に指定されているものがどういうものなのかがわからなかった。
実はこれ、HTML側からリクエストするファイルフィールドのパラメータ名だったのだ。
ここがHTML側と一致していなかったため、サーバ側でファイルを正しく受け取れていなかったのが今回のつまづきポイントだった。

またひとつかしこくなった!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0