2016-05-06 7 views
2

Я вижу довольно много статей о том, как обрабатывать загруженные файлы через Node и Express; например:Есть ли какие-либо пакеты Node для обработки загруженных загрузок с помощью Express?

Это кажется, что много работы. Конечно, есть доступные пакеты Node, которые упрощают обработку загруженных пакетов? Я смотрел NPM, но не нашел ничего подобного. Я хотел бы просто загрузить на свой сервер, а не в удаленное хранилище файлов, такое как S3.

ответ

1

я думаю, что вы можете обрабатывать загрузку куска в экспрессе без необходимости какого-либо модуль

app.post('/anyUrl', function(req, res){ 
    var size = 0; 

    req.on('data', function (data) { 
     size += data.length; 
     console.log('Got chunk: ' + data.length + ' total: ' + size); 
    }); 

    req.on('end', function() { 
     console.log("total size = " + size); 
     res.send("response"); 
    }); 

    req.on('error', function(e) { 
     console.log("ERROR ERROR: " + e.message); 
    }); 


}); 

вы можете попробовать obove код делают почтовые запросы

вара фс = требуется («фс»); var request = require ('request'); fs.createReadStream ('путь/в/файл'). Pipe (request.post ('http://localhost:3000/anyUrl'));

+0

Хотя это обеспечивает доступ к данным при каждой загруженной загрузке, оно не обеспечивает способ борьбы с границами. –

+0

Вниз от комментариев Чада это не касается реального протокола chunking в HTTP, вы должны смотреть HTTP-заголовки, давая вам знать, какие байты отправляются, а не предполагать, что они прибудут по порядку. См. Https://developer.mozilla.org/en-US/docs/Web/HTTP/Range_requests –