Node.js上で動かすサーバのフレームワークexpress4で、クライアントからアップロードされたファイルを受け取るにはmulterというモジュールを使うとよい。
使用するモジュール
- express
- multer
$ npm install --save express multer |
HTML
// index.html |
input type="file"
の要素のname
(ここではupName
)をサーバ側で受け取るときに参照する
サーバのソース
// server.js |
multer({dest: アップロードされるファイルの格納先})
で、クライアントからアップロードされた時のファイルの格納先を指定する- クライアントからの送り先のURLと対応するメソッド(
app.post('/upload')
)に対してupload.single(受け取るファイルの名前)
で指定すると、指定した格納先にファイルが保存された状態で、リクエスト情報req.file
にoriginalname
やpath
の情報が入ってくる- 他の情報はFile information参照
例:
originalname: readme.txt # 元のファイル名 |