Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>try it, add lib/qq_file.rb:</p> <pre><code># encoding: utf-8 require 'digest/sha1' require 'mime/types' # Usage (paperclip example) # @asset.data = QqFile.new(params[:qqfile], request) class QqFile &lt; ::Tempfile def initialize(filename, request, tmpdir = Dir::tmpdir) @original_filename = filename @request = request super Digest::SHA1.hexdigest(filename), tmpdir fetch end def self.parse(*args) return args.first unless args.first.is_a?(String) new(*args) end def fetch self.write @request.raw_post self.rewind self end def original_filename @original_filename end def content_type types = MIME::Types.type_for(@request.content_type) types.empty? ? @request.content_type : types.first.to_s end end </code></pre> <p>in assets_controller type this:</p> <pre><code>def create @asset ||= Asset.new(params[:asset]) @asset.assetable_type = params[:assetable_type] @asset.assetable_id = params[:assetable_id] || 0 @asset.guid = params[:guid] @asset.data = QqFile.parse(params[:qqfile], request) @asset.user_id = 0 @success = @asset.save respond_with(@asset) do |format| format.html { render :text =&gt; "{'success':#{@success}}" } format.xml { render :xml =&gt; @asset.to_xml } format.js { render :text =&gt; "{'success':#{@success}}"} format.json { render :json =&gt; {:success =&gt; @success} } end end </code></pre> <p>javascript:</p> <pre><code>var photo_uploader = new qq.FileUploader({ element: document.getElementById('photo-button'), multiple: true, action: '/assets', allowedExtensions: ['png', 'gif', 'jpg', 'jpeg'], sizeLimit: 2097152, params: {guid: $('#idea_guid').val(), assetable_type: 'Idea', klass: 'Picture', collection: true} }); </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload