aegoose / qiniu_js_rails

integrate qiniu form upload (js-sdk, plupload-rails) and qiniu-ruby-sdk for qiniu upload

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

qiniu_js_rails

integrate qiniu form upload (js-sdk, plupload-rails) and qiniu-ruby-sdk for qiniu upload

Usage

  • init configure setup

Initialize on the config/initializes/qiniu_js_rails.rb

rails generate qiniu_js_rails:install
QiniuJsRails.setup do| config |
  unless config.configured?
    config.qiniu_protocol = 'http'
    config.qiniu_bucket_domain = '<your qiniu_bucket_domain>'
    config.qiniu_bucket = '<your qiniu_bucket name>'
    config.qiniu_access_key = '<your qiniu_access_key>'
    config.qiniu_secret_key = '<your qiniu_secret_key>'
    config.qiniu_styles = [ :big, :medium, :small ]
  end
end
  • include QiniuJsRails::Styles to model
class Product < ApplicationRecord

  include ::QiniuJsRails::Styles

  image_styles :images, model_type_method: :product_dir, model_id_method: :id

  def product_dir
    "product"
  end

end
  • invoke in model
p = Product.new
p.images = "image_key_xxx.jpg!400x500"
p.id = pid

p.images_key
p.images_path
p.images_path(key)
p.images_keys

p.images_small_urls
p.images_small_url
p.images_big_urls
p.images_big_url
p.images_small_url(key)
p.images_big_url(key)

# key will delete after save
p.deleted_images
p.clear_deleted_images
p.flush_deleted_images  # will clear_deleted_images, used for before_action
p.delete_all_images     # will clear_deleted_images, keep p.images, used for before_destroy

# [{key:xxx,path:/product/1/xxx.jpg,small:http://..., big:http://...}]
p.images_objects

# for token in controller
policy = p.new_image_policy("new_id")

Installation

Add this line to your application's Gemfile:

# gem 'qiniu_js_rails'
gem 'qiniu_js_rails', git: 'https://github.com/aegoose/qiniu_js_rails.git'

And then execute:

$ bundle

Or install it yourself as:

$ gem install qiniu_js_rails

Contributing

Contribution directions go here.

License

The gem is available as open source under the terms of the MIT License.

About

integrate qiniu form upload (js-sdk, plupload-rails) and qiniu-ruby-sdk for qiniu upload

License:MIT License


Languages

Language:Ruby 87.7%Language:HTML 9.0%Language:JavaScript 2.0%Language:CSS 1.3%