Class: CarrierWave::Qiniu::Connection
- Inherits:
-
Object
- Object
- CarrierWave::Qiniu::Connection
- Defined in:
- lib/carrierwave/qiniu/connection.rb
Constant Summary collapse
- StatusOK =
200
- @@connection_established =
false
Instance Method Summary collapse
-
#copy(origin, target) ⇒ Boolean
复制.
-
#delete(key) ⇒ Boolean
删除.
- #download_url(path) ⇒ Object
- #get(path) ⇒ Object
-
#initialize(options = {}) ⇒ Connection
constructor
A new instance of Connection.
-
#move(origin, target) ⇒ Boolean
移动.
-
#stat(key) ⇒ Hash
获取文件信息.
- #upload_file(file_path, key) ⇒ Object
Constructor Details
#initialize(options = {}) ⇒ Connection
Returns a new instance of Connection.
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/carrierwave/qiniu/connection.rb', line 10 def initialize( = {}) @qiniu_bucket_domain = [:qiniu_bucket_domain] @qiniu_bucket = [:qiniu_bucket] @qiniu_bucket_private = [:qiniu_bucket_private] || false @qiniu_access_key = [:qiniu_access_key] @qiniu_secret_key = [:qiniu_secret_key] @qiniu_block_size = [:qiniu_block_size] || 1024 * 1024 * 4 @qiniu_protocol = [:qiniu_protocol] || "http" @qiniu_persistent_ops = [:qiniu_persistent_ops] || [:qiniu_async_ops] || "" @qiniu_persistent_pipeline = [:qiniu_persistent_pipeline] || "" @qiniu_persistent_notify_url = [:qiniu_persistent_notify_url] || "" @qiniu_can_overwrite = [:qiniu_can_overwrite] || false @qiniu_expires_in = [:qiniu_expires_in] || [:expires_in] || 3600 @qiniu_up_host = [:qiniu_up_host] @qiniu_private_url_expires_in = [:qiniu_private_url_expires_in] || 3600 @qiniu_callback_url = [:qiniu_callback_url] || "" @qiniu_callback_body = [:qiniu_callback_body] || "" @qiniu_style_separator = [:qiniu_style_separator] || "-" @qiniu_delete_after_days = [:qiniu_delete_after_days] || 0 init end |
Instance Method Details
#copy(origin, target) ⇒ Boolean
复制
63 64 65 66 67 68 69 70 71 |
# File 'lib/carrierwave/qiniu/connection.rb', line 63 def copy(origin, target) success = ::Qiniu.copy( @qiniu_bucket, origin, @qiniu_bucket, target ) success end |
#delete(key) ⇒ Boolean
删除
94 95 96 97 98 99 100 |
# File 'lib/carrierwave/qiniu/connection.rb', line 94 def delete(key) success = ::Qiniu.delete( @qiniu_bucket, key ) success end |
#download_url(path) ⇒ Object
120 121 122 123 124 |
# File 'lib/carrierwave/qiniu/connection.rb', line 120 def download_url(path) encode_path = path_escape(path) primitive_url = "#{@qiniu_protocol}://#{@qiniu_bucket_domain}/#{encode_path}" @qiniu_bucket_private ? ::Qiniu::Auth.(primitive_url, :expires_in => @qiniu_private_url_expires_in) : primitive_url end |
#get(path) ⇒ Object
115 116 117 118 |
# File 'lib/carrierwave/qiniu/connection.rb', line 115 def get(path) code, result, _ = ::Qiniu::HTTP.get(download_url(path)) code == 200 ? result : nil end |
#move(origin, target) ⇒ Boolean
移动
79 80 81 82 83 84 85 86 87 |
# File 'lib/carrierwave/qiniu/connection.rb', line 79 def move(origin, target) success = ::Qiniu.move( @qiniu_bucket, origin, # 源资源名 @qiniu_bucket, target # 目标资源名 ) success end |
#stat(key) ⇒ Hash
获取文件信息
107 108 109 110 111 112 113 |
# File 'lib/carrierwave/qiniu/connection.rb', line 107 def stat(key) info = ::Qiniu.stat( @qiniu_bucket, # 存储空间 key # 资源名 ) info end |
#upload_file(file_path, key) ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/carrierwave/qiniu/connection.rb', line 32 def upload_file(file_path, key) overwrite_file = nil overwrite_file = key if @qiniu_can_overwrite put_policy = ::Qiniu::Auth::PutPolicy.new( @qiniu_bucket, overwrite_file, @qiniu_expires_in, nil ) put_policy.callback_url = @qiniu_callback_url if @qiniu_callback_url.present? put_policy.callback_body = @qiniu_callback_body if @qiniu_callback_body.present? put_policy.persistent_ops = @qiniu_persistent_ops put_policy.persistent_notify_url = @qiniu_persistent_notify_url if @qiniu_persistent_notify_url.present? put_policy.persistent_pipeline = @qiniu_persistent_pipeline resp_code, resp_body, resp_headers = ::Qiniu::Storage.upload_with_put_policy(put_policy, file_path, key, nil, bucket: @qiniu_bucket) raise ::Qiniu::UploadFailedError.new(resp_code, resp_body) if resp_code != StatusOK resp_body end |