0
我想從zip文件中的文件讀取數據,並將這些數據以較小的塊張貼到服務器。由於該文件非常大,我想在node.js中使用流。在node.js上執行一些操作,然後傳遞
我知道它使用yauzl
從zip和readline
閱讀,所以我不必自己照顧行結尾(這是一個CSV文件)。但仍然存在一個問題:zip文件中的數據編碼爲LATIN1
,我需要將其發佈爲UTF8
。隨着iconv-lite
的幫助下,我可以readablestream正確地轉換爲UTF8在控制檯上:
rd.on('data', function(data) {
console.log(iconv.decodeStream(data, 'LATIN1'));
});
現在我的問題是,我想用readLine
其預計如下配置:
var rd = readline.createInterface({
input: readStream,
output: process.stdout,
terminal: false
});
所以我的想法將decodeStream
和encodeStream
結合起來,這樣我就可以再次得到一個數據流,並且可以通過正確編碼的UTF8將其傳送到readline
。
readStream.pipe(iconv.decodeStream('LATIN1').pipe(iconv.encodeStream('utf8'))
,但我看不出我既可以在readline
配置使用或在一個變量,我可以給readline
爲ìnput
「結束」的管道。