Как получить загруженный файл, используя грозную библиотеку node.js, и сохранить его в Amazon S3, используя knox? - PullRequest
2 голосов
/ 21 сентября 2011

Я хотел бы загрузить форму с веб-страницы и напрямую сохранить файл на S3 без предварительного сохранения на диск.Это приложение node.js будет развернуто в Heroku, где нет локального диска для сохранения файла.

Библиотека формула узла предоставляет отличный способ загрузки файлов и их сохранения.на диск.Я не уверен, как отключить грозную (или connect-форму) от сохранения файла в первую очередь.Библиотека Knox , с другой стороны, предоставляет способ чтения файла с диска и сохранения его на Amazon S3.

1) Есть ли способ подключиться к событиям грозного диска (в Data) отправить поток на события Knox, чтобы я мог напрямую сохранить загруженный файл в моем хранилище Amazon S3?2) Существуют ли какие-либо библиотеки или фрагменты кода, которые могут позволить мне напрямую взять загруженный файл и сохранить его Amazon S3 с помощью node.js?

Есть похожий вопрос здесь , но ответы на неготам НЕ адресуются НЕ сохранения файла на диск.

Ответы [ 2 ]

3 голосов
/ 29 сентября 2011

Похоже, что нет хорошего способа сделать это. Одной из причин этого может быть то, что библиотека-нодвиглазная библиотека сохраняет загруженный файл на диск. Я не мог найти какие-либо варианты сделать иначе. Библиотека knox берет сохраненный файл на диск и, используя ваши учетные данные Amazon S3, загружает его в Amazon.

Так как в Heroku я не могу сохранять файлы локально, я использовал службу transloadit . Хотя их аутентификация документы имеют некоторую кривую обучения, я нашел эту услугу полезной.

Для тех, кто хочет использовать transloadit с помощью node.js, может помочь следующий пример кода (страница transloadit содержит только примеры Ruby и PHP)

var crypto, signature;
crypto = require('crypto');
signature = crypto.createHmac("sha1", 'auth secret').
    update('some string').
    digest("hex")
console.log(signature);
0 голосов
/ 05 мая 2012

это Энди, создатель AwsSum:

Я только что выпустил v0.2.0 этой библиотеки.Он загружает файлы, которые были созданы с помощью Express 'bodyParser (), хотя, как вы говорите, это не будет работать на Heroku:

Однако яв следующей (v0.3.0) версии будет добавлена ​​возможность потоковой передачи из грозного напрямую в S3.На данный момент, однако, посмотрите и посмотрите, может ли это помочь.:)

...