2016-11-19 2 views
0

В Rails мы можем загружать изображения с помощью формы, например, «paperclip» и «carrierwave», а затем изменять их размер.Ember.js - получение изображения от пользователя

Я хотел бы знать, как я делаю то же самое, используя Rails только для backend, и Ember.js для интерфейса.

Как я могу получить изображение от пользователя и изменить его размер позже? Я использую Ember.js + Ruby on Rails?

+1

В его нынешнем виде ваш вопрос не является достаточно конкретным, и ответы, вероятно, будут слишком широкими или самоуверенными. Вам нужно показать свои собственные усилия и попытаться исследовать проблему, а затем задать конкретный вопрос о конкретной проблеме. Для получения справки см. «[Как задать хороший вопрос]» (http://stackoverflow.com/help/how-to-ask) ». Небольшое исследование приведет вас к таким сайтам, как [Ember Observer] (https://emberobserver.com/), что может помочь вам найти решение. – jacefarm

ответ

0

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

  • FormData для реальных (свежих) версиях браузера
  • вспышку, если вам нужна поддержка IE < 11 (Надеюсь, вы этого не сделаете)

Я сделал blog post, где объясню, как создать простой загрузчик для ember.

Также вы можете использовать один из existing uploaders (ищите компоненты, готовые к ember или оберните некоторый загрузчик AJAX в компоненте), если набор функций, которые они предоставляют, подходит для вашего приложения.

Бэкэнд-часть должна быть такой же или не очень отличаться от классической формы.

+0

Благодарим вас за ответ. Я был занят на прошлой неделе и на этой неделе тоже. Не мог ответить ранее. Простите об этом. У меня нет возможности проверить это, так что я могу спросить, это загрузка как часть форма или это совершенно другая форма для простого изображения? – MeLearn

+0

@MeLearn зависит от реализации. Сторонние компоненты обычно отправляют только изображения (файлы), часто каждое изображение в отдельном асинхронном запросе. Моя реализация отправляет все изображения в один запрос и может добавлять к ним любые данные (но не поддерживает старые IE). На бэкэнд он должен выглядеть так же, как классическая форма с полями файлов. В примере, в php $ _POST (содержит данные) и $ _FILES (содержит файлы) доступны массивы –

+0

Большое вам спасибо. Я оставлю свои отзывы, как только у меня появится шанс попробовать. ^.^спасибо. – MeLearn

Смежные вопросы