2016-05-18 12 views
1

私はExpressJSでmulterを使用しています。ファイルのアップロードを0.5 MBに制限します。ファイルが大きすぎるエラー処理Nodejs Express Multer

var limits = { fileSize: 0.5 * 1024 * 1024 }; 

var upload = multer({ dest: './public/uploads/', limits: limits 
}).single('upl') 

app.post('/',upload, function (req, res) { 
    upload(req, res, function (err) { 
    if (err) { 
      console.log("cs " + err); 
     return 
    } 

      res.end('You new avatar is uploaded') 
    // Everything went fine 
    }) 
}) 

ファイルは0.5メガバイトの下にあるとき、私は「あなたは新しいアバターがアップロードされて」私が手の上にそれがあるとき、

Error: File too large 
    at makeError (C:\Users\Owner\Desktop\nodejs projects\dummy\node_modules\multer\lib\make-error.js:12:13) 
    at abortWithCode (C:\Users\Owner\Desktop\nodejs projects\dummy\node_modules\multer\lib\make-middleware.js:77:22) 
    at FileStream.<anonymous> (C:\Users\Owner\Desktop\nodejs projects\dummy\node_modules\multer\lib\make-middleware.js:139:11) 
    at emitNone (events.js:80:13) 
    at FileStream.emit (events.js:179:7) 
    at PartStream.onData (C:\Users\Owner\Desktop\nodejs projects\dummy\node_modules\busboy\lib\types\multipart.js:220:18) 
    at emitOne (events.js:90:13) 
    at PartStream.emit (events.js:182:7) 
    at readableAddChunk (_stream_readable.js:153:18) 
    at PartStream.Readable.push (_stream_readable.js:111:10) 

はもちろん、私は、エンドユーザーがこれを見たいと思ったことがないだろう見ることができます。どのようにこれを適切に処理できますか?

+0

エラーがブラウザに返されていること?私は驚いている。 –

答えて

3

は、(最初​​の「アップロード」削除)、次のように書き換えてみてください:

app.post('/', function (req, res) { 
    upload(req, res, function (err) { 
    if (err) { 
     console.log("cs " + err); 
     return 
    } 

    res.end('You new avatar is uploaded') 
    // Everything went fine 
    }) 
+0

しかし、私はどのようにサイズ制限を導入するのですか? – user2251234

+0

あなたのコードのように書くと、app.post( '/')のアップロードミドルウェアが削除されます – KibGzr

+0

あなたは正しいです。それはうまくいった。ありがとうございました。 – user2251234

関連する問題