Совет: утюг, грозный и aws s3

Я новичок в серверном программировании с помощью node.js. Прямо сейчас я склеиваю с ним крошечное веб-приложение и учусь на обычном стартапе. Следующий кусок кода работает. Но я хотел бы знать, является ли это более или менее правильным способом сделать простую загрузку файла из формы и добавить его в aws s3:

app.router.post('/form', { stream: true }, function () {

    var req = this.req,
        res = this.res,
        form = new formidable.IncomingForm();

    form
    .parse(req, function(err, fields, files) {
        console.log('Parsed file upload' + err);
        if (err) {
            res.end('error: Upload failed: ' + err);
        } else {
            var img = fs.readFileSync(files.image.path);
            var data = {
                Bucket: 'le-bucket',
                Key:    files.image.name,
                Body:   img
            };
            s3.client.putObject(data, function() {
                console.log("Successfully uploaded data to myBucket/myKey");
            });
            res.end('success: Uploaded file(s)');
        }
    });
});

Примечание: мне пришлось отключить буфер в файле union / flatiron.plugins.http.

То, что я хотел бы узнать, когда потоковая загрузка файла и когда синхронизировать его. Это будет действительно крошечное веб-приложение с небольшим трафиком.

Если это более или менее хорошо, то, пожалуйста, рассмотрите это как знак рабочего кода, который я также приведу к сути. Не так просто найти документацию и рабочие примеры такого рода вещей. Мне очень нравится Flatiron. Но это небольшой модульный подход приводит к большому количеству разбросанных документов и примеров по всей сети, не говоря уже о учебниках.

1 ответ

Вы должны использовать другой модуль, кроме грозного, потому что, насколько я знаю, у грозного нет опции хранения в s3, тогда вы должны сохранить файлы на своем сервере перед загрузкой. Я бы порекомендовал вам использовать: многопартийность

Используйте этот пример для загрузки непосредственно на S3, не сохраняя его локально на вашем сервере.

Другие вопросы по тегам