class QiniuDirectUploader::Uploader
Public Class Methods
new(options)
click to toggle source
# File lib/qiniu_direct_uploader/uploader.rb, line 4 def initialize(options) @options = options.reverse_merge( expires_in: 360, ssl: false, custom_fields: {}, submit_button_id: nil, progress_bar_id: nil, drop_paste_zone_id: nil, callback_method: "POST" ) end
Public Instance Methods
action()
click to toggle source
# File lib/qiniu_direct_uploader/uploader.rb, line 49 def action @options[:action] || default_upload_url end
custom_fields()
click to toggle source
# File lib/qiniu_direct_uploader/uploader.rb, line 40 def custom_fields @options[:custom_fields] end
fields()
click to toggle source
# File lib/qiniu_direct_uploader/uploader.rb, line 33 def fields the_fields = {} the_fields[:token] = @options[:token] || token the_fields[:key] = @options[:key] if @options[:key] the_fields end
form_options()
click to toggle source
# File lib/qiniu_direct_uploader/uploader.rb, line 16 def form_options { id: @options[:id], class: @options[:class], method: "post", authenticity_token: false, multipart: true, data: { callback_url: @options[:callback_url], callback_method: @options[:callback_method], submit_button_id: @options[:submit_button_id], drop_paste_zone_id: @options[:drop_paste_zone_id], progress_bar_id: @options[:progress_bar_id] }.reverse_merge(@options[:data] || {}) } end
return_body()
click to toggle source
# File lib/qiniu_direct_uploader/uploader.rb, line 53 def return_body fields_array = [] fields_array.push '"etag": $(etag)' fields_array.push '"fname": $(fname)' fields_array.push '"fsize": $(fsize)' fields_array.push '"mimeType": $(mimeType)' fields_array.push '"imageInfo": $(imageInfo)' fields_array.push '"exif": $(exif)' fields_array.push '"endUser": $(endUser)' fields_array.push '"key": $(key)' custom_fields_array = [] @options[:custom_fields].each do |k,v| custom_fields_array.push '"' + k.to_s + '": $(x:'+ k.to_s + ')' end custom_fields_json = '"custom_fields": {' + custom_fields_array.join(',') + '}' fields_array.push custom_fields_json '{'+ fields_array.join(',') +'}' end
save_key()
click to toggle source
# File lib/qiniu_direct_uploader/uploader.rb, line 44 def save_key return @options[:save_key] if @options[:save_key] "uploads/$(year)/$(mon)/$(day)/$(etag)/$(fname)" end
token()
click to toggle source
# File lib/qiniu_direct_uploader/uploader.rb, line 75 def token put_policy = Qiniu::Auth::PutPolicy.new( @options[:bucket], @options[:key], @options[:expires_in], nil ) put_policy.return_body = return_body put_policy.save_key = save_key put_policy.end_user = @options[:customer] if @options[:customer] Qiniu::Auth.generate_uptoken(put_policy) end
Private Instance Methods
default_upload_url()
click to toggle source
# File lib/qiniu_direct_uploader/uploader.rb, line 86 def default_upload_url if @options[:ssl] "https://up.qbox.me" else "http://up.qiniu.com" end end