Я думаю о том, размещать ли загруженные медиафайлы (видео и аудио) на S3 вместо локально. Мне нужно проверять права пользователя при каждой загрузке.
Таким образом, будет действие типа get_file
, которое сначала проверяет права пользователя, а затем получает файл с S3 и отправляет его с помощью send_file пользователю.
def get_file
if @user.can_download(params[:file_id])
# first, download the file from S3 and then send it to the user using send_file
end
end
Но в этом случае сервер (без необходимости) сначала загружает файл с S3, а затем отправляет его пользователю. Я подумал, что сценарий использования S3 должен был обойти стек серверов Rails / HTTP для уменьшения нагрузки.
Я думаю, что это неправильно?
PS. Я использую CarrierWave для загрузки файлов. Не уверен, что это актуально.