class CarrierWave::Nos::Bucket
Constants
- PATH_PREFIX
Public Class Methods
new(uploader)
click to toggle source
# File lib/carrierwave/nos/bucket.rb, line 6 def initialize(uploader) @nos_access_key = uploader.nos_access_key @nos_secret_key = uploader.nos_secret_key @nos_endpoint = uploader.nos_endpoint @nos_bucket = uploader.nos_bucket end
Public Instance Methods
path_to_url(path)
click to toggle source
根据配置返回完整的上传文件的访问地址
# File lib/carrierwave/nos/bucket.rb, line 32 def path_to_url(path) "https://#{@nos_bucket}.#{@nos_endpoint}/#{path}" end
put(path, file)
click to toggle source
上传文件 params:
-
path - remote 存储路径
-
file - 需要上传文件的 File 对象
returns: 图片的下载地址
# File lib/carrierwave/nos/bucket.rb, line 19 def put(path, file) path.sub!(PATH_PREFIX, '') res = oss_upload_client.put_file(file, path) if res.code == 200 path_to_url(path) else raise 'Put file failed' end end
Private Instance Methods
oss_upload_client()
click to toggle source
# File lib/carrierwave/nos/bucket.rb, line 38 def oss_upload_client return @oss_upload_client if defined?(@oss_upload_client) @oss_upload_client = NosClient.new(@nos_access_key, @nos_secret_key, @nos_bucket, @nos_endpoint) end