Rails3 - скачать файл с удаленного сервера и загрузить его на S3 - PullRequest
0 голосов
/ 26 апреля 2011

Я сейчас перевожу свой проект с PHP (codeigniter) на Rails3, и это потрясающе. Но я новичок в рельсах и рубинах, поэтому столкнулся с проблемой, которую не знаю, как ее решить.

Я получаю новые вещи на своем сайте (A) с одного определенного сайта (B). Это работает так:

  1. На сайте B на странице, которую я хочу отправить на свой сайт, я нажимаю кнопку.
  2. Сайт B делает запрос POST к моему сценарию на сайте A с идентификатором этой страницы.
  3. Я беру этот идентификатор и отправляю запрос POST с CURL на сайт B.
  4. Сайт B возвращает мне фид JSON со ссылками на файлы.
  5. Затем я использую CURL для загрузки файлов с этим идентификатором.

Извините, если объяснение немного загромождено.

Для шагов 1 и 2, я предполагаю, мне нужно создать POST-маршрут и метод в каком-то контроллере. Но остальное мне не так ясно.

Кроме того, в проекте php я размещал файлы на тех же серверах. И теперь я использую heroku, поэтому мне нужно поместить эти файлы в S3.

1 Ответ

1 голос
/ 26 апреля 2011

обновление: При повторном чтении Q я вижу, что удаленные файлы должны быть отправлены из удаленного местоположения в приложение rails, а не из предоставленного пользователем URL.Скорее всего, Carrierwave все еще может с этим справиться, но у меня нет опыта в этой конкретной области.

Это действительно просто с carrierwave .

После настройки, CarrierWave будетопределить, является ли загрузка файла или путь к удаленному файлу, и импортировать его.

<%= form_for @user, :html => {:multipart => true} do |f| %>
  <p>
    <label>My Avatar URL:</label>
    <%= image_tag(@user.avatar_url) if @user.avatar? %>
    <%= f.text_field :remote_avatar_url %>
  </p>
<% end %>

S3 хранилище поддерживается изначально, через fog , которое не требует настройки илиКонфигурация, отличная от нескольких строк в файле загрузчика в самой carrierwave.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...