我有一个使用 Carrierwave 和 Fog 将文件上传到 Amazon S3 的 Rails 4 应用程序。该应用程序使用的服务器是 Nginx 和 Thin。
我遇到的问题是上传超过 5mb 的文件时。
我试过到处寻找让它工作的方法,我试过 CarrierwaveDirect 但仍然无法让它工作。
这是我的载波配置:
config.fog_directory = 'aws-bucket-name'
config.fog_public = false
config.fog_attributes = { multipart_chunk_size: 5242880 }
config.max_file_size = 200.megabytes # CarrierwaveDirect option
以下是控制器操作:
def new
@file = DownloadFile.new
end
def create
@file = DownloadFile.new
@file.file = params[:download_file][:file]
if @file.save
redirect_to downloads_path
else
render :new
end
end
和形式:
<%= form_for @file, multipart: true do |f| %> <!-- even tried with `multipart` wrapped in `html: {}` -->
<%= f.label :file %>
<%= f.file_field :file %>
<%= f.button t(:upload) %>
<% end %>
我可以很好地上传小文件,但是当涉及超过 5mb 的文件时,表格只会重新显示。没有错误,日志中没有错误,什么都没有。