为什么不尝试Uploadify?
第1步gem 'carrier_wave'到您的Gemfile。第2步
将此代码保存到
/lib/flash_session_cookie_middleware.rb:
第三步require 'rack/utils'class FlashSessioncookieMiddleware def initialize app, session_key = '_session_id' @app = app @session_key = session_key end def call env if env['HTTP_USER_AGENT'] =~ /^(Adobe|Shockwave) Flash/ request = Rack::Request.new env env['HTTP_cookie'] = [@session_key, request.params[@session_key]].join('=').freeze unless request.params[@session_key].nil? env['HTTP_ACCEPT'] = "#{request.params['_http_accept']}".freeze unless request.params['_http_accept'].nil? end @app.call env endend
编辑
session_store.rb此代码并将其添加到文件末尾:
第4步Rails.application.config.middleware.insert_before( ActionDispatch::Session::cookieStore, FlashSessioncookieMiddleware, Rails.application.config.session_options[:key])
下载Uploadify并解压缩。
第5步- 复制
jquery.uploadify.v2.1.4.min.js
并swfobject.js
以/app/assets/javascripts
如果您使用的Rails 3.1或更高版本; 到/public/javascripts
如果使用的Rails 3.0或更早版本。 - 将
uploadify.swf
和复制cancel.png
到/app/assets/images/
或/public/images
。 - 复制
uploadify.css
到/app/assets/stylesheets/
或/public/stylesheets
。
编辑您的application.js并在下面插入:
步骤7//= require swfobject//= require jquery.uploadify
在您的上传页面中,添加以下内容:
步骤8<input id="uploadify" name="uploadify" type="file"/>
将此代码添加到您的上传脚本中:
步骤9$(document).ready(function() { <% key = Rails.application.config.session_options[:key] %> var uploadify_script_data = {}; var csrf_param = $('meta[name=csrf-param]').attr('content'); var csrf_token = $('meta[name=csrf-token]').attr('content'); uploadify_script_data[csrf_param] = enpreURI(enpreURIComponent(csrf_token)); uploadify_script_data['<%= key %>'] = '<%= cookies[key] %>'; $('#uploadify').uploadify({ uploader : '/assets/uploadify.swf', script : '/photos', cancelImg : '/images/cancel.png', auto : true, multi: true, removeCompleted : true, scriptdata: uploadify_script_data, onComplete : function(event, ID, fileObj, doc, data) { } });});
像这样编写控制器:
def create @photo = Photo.new image: params[:file_data] @photo.saveend
注意: 已使用Uploadify 2.1.4进行了测试。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)