質問: Buffer.concat(buffers); //書き込み fs.writeFile('./img.jpg', req.rawBody, 'utf-8',(err) => { if(err) return; console.log(`[done] Image save`); }); }); }); app.listen(PORT); ``` ### 試したこと 様々なJEPG画像で試しましたが、出力されるファイルのKBが変わるため送信はできていると思います。 ### 補足情報(FW/ツールのバージョンなど) 環境は Windows 10 Node.js v6.11.5 Powershell を使用しています。 他にも画像をアップロードする方法をご存知でしたらご教授願いたいです。 また、そもそも画像をアップロード自体、Node.jsではしない等あれば、Webアプリケーションでは通常どのような手法が用いられるのかも教えていただきたいです。
回答: `multipart/form-data` の BODYを解釈する~~モジュール~~*ミドルウェア* を使ってください。 * Moving to Express 4 / 和訳 * Moving to Express 5 express v4 以降は、2つのモジュールを使い分けます。 * body-parser .. 通常のフォーム(application/x-www-form-urlencoded) や、JSONなど単一のデータをそのままPOSTするケースに対応したモジュール * **multer** .. ファイル送信フォーム(multipart/form-data)に対応したモジュール express + Multer を使用してファイルアップロード API を作成する それ以前の express では formidable モジュールを用いてミドルウェアを書くこともありました。 express v3の例:Node.js + express + formidable でファイルアップロードを受け付ける