Я использую паруса версии 0.11, которая поставляется в комплекте со шкиперами для загрузки файлов. Мне нужно загрузить, по крайней мере, файлы размером более 100 МБ.Sails.js Skipper: как читать загруженный поток файлов во время загрузки?
Теперь я не хочу, чтобы загрузка файла была завершена, прежде чем я начну дополнительную обработку файла на сервере. Я хочу прочитать поток файлов во время его загрузки. Вот как я пытаюсь добиться того же:
var csv = require("fast-csv");
bulk: function (req, res){
function parseEntry(entry){
return entry
}
var inputStream = req.file('employees');
var csvStream = csv();
inputStream.pipe(csvStream);
csvStream.on("data", function (data){
count++
// skip invalid records
var parsedData = parseEntry(data);
console.log(parsedData);
});
csvStream.on("end", function(){
// console.log("total time taken in minutes:", timeTaken);
return res.json(200, {"status": 1, "message": "successfully uploaded the file"});
});
}
Но мои журналы появляются только конечное событие и ни одно событие данные не учитываются. Я прочитал в документации, что req.file("filename")
вернет поток файловых потоков. Но как мне получить доступ к конкретному файловому потоку, который мне нужен, поскольку я загружаю только один файл?
Возможно потому, что пользователи Шкипер потоки 2, в то время как ваш cvsStream используя старый поток – securecurve
стиль у меня точно такой же проблемой, вам удалось синтаксического анализа CSV как поток? – hammady
nope. Мы не достигли ситуации, когда размер файла превышал несколько МБ. Если я вернусь к этой проблеме и когда-нибудь ее разрешу, я обязательно обновлю этот поток. –