■
この間入れたangular-file-uploadを使って画像をdataURLに変換→mongoDBに保存する機能を実装してみた.
小さい画像は問題なく動作するが,大きい画像(例:iPhoneから写真を投稿するなど)の場合以下のエラーが出てアップロードできなかった.
[Error] Failed to load resource: the server responded with a status of 500 (Internal Server Error)
調べたところリクエストサイズが大き過ぎるよ〜とかそんな感じらしい.
bodyParserのオプションを設定する
/config/express.js
// Request body parsing middleware should be above methodOverride
app.use(bodyParser.urlencoded({
extended: true,
limit: 1000*1000*5
}));app.use(bodyParser.json({
limit: 1000*1000*5
}));
app.use(methodOverride());
他の場所に書けそうもなかったので直書き.とりあえず5MBに設定.
bodyParserのパラメータはここを参考にした. https://www.npmjs.org/package/body-parser
再度試すとそれなりに大きいサイズもアップロードできるようになった.
一定以上の大きさの画像はリサイズするようにしたほうがいいかも.