5

busboy でエラーを出して処理することはできますか?

例:

busboy.on('file', function(fieldname, file, filename, encoding, mimetype) {
    if(mimetype !== 'application/pdf') {
        this.emit('error',new Error('Wrong file type'));
        return;
    }
}
busboy.on('error', function(err) {
    console.log('An error has occured: \n' + err);
});

これを行うと、次のエラーが表示されます。

events.js:141
      throw er; // Unhandled 'error' event
      ^

Error: Wrong file type
    at Busboy.<anonymous> (/home/ubuntu/workspace/suploadtest/app.js:44:31)
    at emitMany (events.js:108:13)
    at Busboy.emit (events.js:182:7)
    at Busboy.emit (/home/ubuntu/workspace/uploadtest/node_modules/busboy/lib/main.js:31:35)
    at PartStream.<anonymous> (/home/ubuntu/workspace/uploadtest/node_modules/busboy/lib/types/multipart.js:213:13)
    at emitOne (events.js:77:13)
    at PartStream.emit (events.js:169:7)
    at HeaderParser.<anonymous> (/home/ubuntu/workspace/uploadtest/node_modules/busboy/node_modules/dicer/lib/Dicer.js:51:16)
    at emitOne (events.js:77:13)
    at HeaderParser.emit (events.js:169:7)

メッセージで自分のエラーを発行し、アップロードされたファイルをエラー イベントで削除できるようにしたいと考えています。

4

1 に答える 1