Загрузка файлов из Paperclip - PullRequest
1 голос
/ 25 января 2011

У меня есть действие контроллера, предназначенное для отправки файла пользователю для загрузки из моего хранилища в S3.

Вот код контроллера:

send_file @project.file.url, :type => @project.file_content_type

Вот ошибка:

Cannot read file http://s3.amazonaws.com/bucket/projects/1/project.xlsx?2011

Когда я сразу перехожу на URL, я получаю файл для загрузки! Что происходит?

1 Ответ

1 голос
/ 25 января 2011

Это нормально, если вы просто перенаправите пользователя в файл на S3?

redirect_to @project.file.url

Проблема в том, что send_file ожидает путь к локальному файлу, который затем используется веб-сервером дляобслуживать данные из локального файла, к которому он имеет доступ на диске.Файл на S3 доступен только по HTTP, поэтому ваш веб-сервер не может его обслуживать.Чтобы использовать send_file, вам нужно скачать его, а затем подать его, я думаю.

...