2010-04-12 4 views
1

Есть ли способ сделать приватные приложения для скрепки? Как и в том случае, когда я явно хочу, чтобы пользователь мог получить доступ к файлу, пользователь может получить доступ к файлу.paperclip приватные файлы

Очевидно, что файл не может находиться в общедоступном каталоге, но как получить paperclip для проверки прав доступа пользователя при попытке получить доступ к этому файлу для начала?

+0

Что вы используете для аутентификации и/или авторизации? – sosborn

ответ

5

PaperClip не обрабатывает загрузку приложения. Он обрабатывает только загрузку, обработку и сохранение файла.

Если вам нужно что-то подобное, вы должны сохранить фотографию в частной папке (или в БД, если это соответствует вашим потребностям). Затем вы можете реализовать контроллер/действие, которое будет проверять учетные данные пользователя, прочитать файл и затем отправить файл в виде двоичного содержимого.

Для отправки двоичного содержимого из контроллера, вы можете проверить ActionController::Streaming API

Вы также можете проверить это thread на SO.

+0

Единственное, paperclip также позволяет обслуживать эти файлы, такая вещь должна быть отключена. –

+4

Нет. Это просто, что установка по умолчанию для хранения файлов в папке находится в общей папке приложений. – mikezter

+1

Этот метод устанавливает приватный загруженный файл и показывает вам, как создать для него истекающую ссылку: https://github.com/thoughtbot/paperclip/wiki/Restricting-Access-to-Objects-Stored-on-Amazon- S3 – koosa

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