web-dev-qa-db-ja.com

Multerの使用-アップロードされたファイル(text / .csv)を読み取るにはどうすればよいですか

Multerを初めて使用する-.csvファイルを解析し、ファイル内の各キーワードとフレーズの出現回数をカウントするアプリを作成しましたが、ノードとエクスプレスを使用して変更を加え、フォームを使用して送信された後にファイルを解析しましたエクスプレスルーターとマルター。

私はもうファイルを読んでいないので少し混乱していますが、これは:

{
[????]   fieldname: 'file-upload',
[????]   originalname: 'Google-Analytics.csv',
[????]   encoding: '7bit',
[????]   mimetype: 'text/csv',
[????]   buffer: <Buffer 48 65 61 64 65 72 2c 53 75 62 2d 68 65 61 64 65 72 2c 54 61 67 2c 4b 65 79 77 6f 72 64 73 2c 54 65 73 74 69 6d 6f 6e 69 61 6c 0d 0a 54 75 72 6e 20 69 ... >,
[????]   size: 2990
}

Jimpがmulterからの画像のアップロードを処理するときに、バッファを処理するための何かを見つける必要があると思います。

TL; DR; multerでアップロードするときにテキストファイルの内容を読み取るにはどうすればよいですか?

5
Chris Johnson

別の方法は、multerファイルのBufferオブジェクトに直接アクセスすることです。

このオブジェクトでstringを呼び出すと、デフォルトでUTF-8の文字列が解析されます。

例:bufferByteArray.toString();

https://nodejs.org/api/buffer.html

1
JoshuaTree

アップロードしたファイルの拡張子をファイル名で追加します。

filename: function (req, file, cb) {
console.log("File Object",file);
let ext = '';
if(file.originalname.split('.').length >1 ){
ext = file.originalname.substring(file.originalname.lastIndexOf('.'));
}
console.log('ext', ext);
cb(null, file.fieldname + '-' + Date.now() + ext)
}
0
Raj Gohel