0

Я хочу создать службу загрузки файла для узла бэкэндаNode расслоения плотной загрузка файл s3 или местный

Файлы можно загрузить в амазонка s3 ведра или локальный сервер в зависимости от конфигурации.

Насколько я понял

можно использовать поток s3-загрузку для загрузки на s3 ведро. У меня следующий вопрос

  1. В примере на странице mpdule НПМ

    вар чтения = fs.createReadStream ('./ путь/к/file.ext');

Поток создается с использованием локального файла. Как я могу прочитать входной поток от клиента и передать его на s3. Могу ли я использовать грозное для этого?

Размер файла может быть очень большим. Служба загрузки должна быть готовой к производству, обслуживающей несколько запросов. Указание на любую документацию или руководство по моему случаю использования будет очень полезно

ответ

1

Если хочет придерживаться s3-загрузка-поток, я предлагаю вам использовать Busboy:

https://www.npmjs.com/package/busboy

busboy.on('file', function(fieldname, file, filename, encoding, mimetype) { 
    // Instead of the events 'data' and 'end' as the show in the documentation 
    // you can just pipe the file to the upload from s3-upload-stream 

    file.pipe(upload); 
}); 

Я хватаю эти куски кода из приведенной выше ссылки. Файл, который вы получаете от busboy, является вашим читаемым потоком.

Надеюсь, что это поможет.