使用redactor WYSIWYG。从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
尝试使用相同的逻辑在redactor中上传图片。我在我的javascript中有这个
$(document).ready(
function()
{
$('#answer_content').redactor({
imageUpload: '<%= upload_path %>'
});
}
);
在我的routes.rb
中 match "upload" => "answers#imageUpload"
我不确定如何将redactor表单数据传递到我的服务器端脚本。在redactor
中检查html上传脚本
<input type="file" id="redactor_file" name="file">
如何在我的rails方法中捕获此数据,就像在我的其他方法中一样?我不确定这个编辑器HTML传递了什么参数。感谢