问题描述
|
我正在使用此脚本http://valums.com/ajax-upload/来与Ruby on Rails一起使用Ajax上传
但是当我尝试在控制器操作上上传文件时,我只会得到以下信息:
Parameters: {\"qqfile\"=>\"Foo.png\"}
{\"qqfile\"=>\"Foo.png\",\"action\"=>\"ul_file\",\"controller\"=>\"upload_files\"}
但是我不能使用它作为文件并做事
thefile = params[:qqfile]
foo = thefile.original_filename.slice(thefile.original_filename.rindex(\".\"),thefile.original_filename.length).downcase
我需要做什么才能使该脚本与Ruby on Rails一起使用?
谢谢。
///////// 更新
这就是JS的样子
$(document).ready(function(){
var uploader = new qq.FileUploader({
// pass the dom node (ex. $(selector)[0] for jQuery users)
element: $(\'#file-uploader\')[0],// path to server-side upload script
action: \'/NzzT/upload_files/ul_file\'
});
});
解决方法
我的解决方案发表在此评论中
我为轻松上传者编写了QqFile。带回形针的例子
,这是使用CarrierWave的一个很好的解决方案:
https://github.com/jnicklas/carrierwave/wiki/How-to%3A-Upload-from-a-string-in-Rails-3
https://groups.google.com/forum/#!topic/carrierwave/KBn2WmrwRAs
语法看起来像这样,就像一个魅力:
file = CarrierwaveStringIO.new(params[:qqfile],request.raw_post)