我正在使用编辑器所见即所得。从 Docs 中,它支持 Amazon S3 图像上传。我制作了一个单独的简单 Rails 应用程序,可以将图像上传到亚马逊。
的HTML
<%= form_for @image, :html => {:multipart => true, :accept => "image/gif,image/png,image/jpg"} do |f| %>
<div>
<label>Image</label>
</div>
<div style="width: 400px;" >
<%= file_field 'upload', 'datafile' %>
</div>
<div>
<%= f.submit "Upload image", :class => "button" %>
</div>
<% end %>
我的 ImagesController 中有一个创建操作
创建操作(使用 aws-gem)
def create
fileUp = params[:upload]
orig_filename = fileUp['datafile'].original_filename
filename = sanitize_filename(orig_filename)
AWS::S3::S3Object.store(filename, fileUp['datafile'].read, @@BUCKET, :access => :public_read)
url = AWS::S3::S3Object.url_for(filename, @@BUCKET, :authenticated => false)
@image = Image.new(params[:image])
@image.filename = filename
@image.url = url;
if @image.save
flash[:success] = "Image saved! "
redirect_to root_path
else
render '/images/new'
end
end
我正在尝试应用相同的逻辑在编辑器中上传图像。我的javascript中有这个
$(document).ready(
function()
{
$('#answer_content').redactor({
imageUpload: '<%= upload_path %>'
});
}
);
在我的 routes.rb
match "upload" => "answers#imageUpload"
我不确定如何将编辑器表单数据传递给我的服务器端脚本。在 redactor 中检查上传脚本的 html
<input type="file" id="redactor_file" name="file">
如何像在其他方法中一样在我的 rails 方法中捕获这些数据?我不确定这个编辑器 HTML 传递了哪些参数。谢谢