Мне нужно загрузить локальный файл в s3 и сохранить его ссылку в базе данных. Сейчас я конвертирую изображение в base64 и отправляю его на сервер rails, который сохраняет его на s3 и возвращает URL-адрес. Я отправляю этот URL в следующем HTTP-запросе. Теперь, как насчет того, чтобы сохранить его через экспресс, получите ссылку, а затем используйте ее для запроса. Какой лучший подход? Использование промежуточного или серверного сервера?Загрузка изображения: Base64 на сервер в почтовом запросе или Express Js Middelware
0
A
ответ
1
Для загрузки файлов я предлагаю использовать multer промежуточное ПО, потому что встроенная многопроцессорная реализация немного сложна. Для взаимодействия с амазоном s3 используется промежуточное программное обеспечение.
Чтобы отправить файл где-то еще можно использовать трубы:
fs.createReadStream(rqPath).pipe(res);
В приведенном выше примере, файл считывается из локальной системы и поступает в ответ.
Все указанные модули могут найти на NPM
0
Если вы все еще пытаетесь понять это, я боролся с той же проблемой, решил POST двоичные данные (преобразованные из base64) непосредственно в теле без решения с многочастными формами, и взломал пакет base64-image-upload, чтобы сделать это легко.
И это лучший подход righ? как насчет отправки base64 в почтовый запрос на сервер rails? – RBS
По моему скромному мнению, вам не нужно преобразовывать файл в двоичную кодировку. Просто заведите его в узел и проведите его по всем направлениям. На стороне RoR multipart/form-data улучшат производительность приложения. Лучший способ отправить файл в RoR - это модуль http://npmjs.com/package/request –