upyun使用

原理:将本地app的附件上传到upyun中,然后本地的附件(包括图片,pdf文件等)在本地显示的时候只是上传到upyun中url地址,达到cdn的效果。这就是cnd的操作步骤和效果。

使用步骤:

创建服务选择全网加速服务;源站类型选择有拍云;授权已有的操作员jayzen;设置CNAME: 参考万网中设置cname的提示进行设置,came的意思是将相同的域名指向同一个位置,其中upan提供的cdn存储地址是zhengjiajun.b0.aicdn.com,作为cname的记录值,用户自己可以进行域名绑定,用户的域名是zhengjiajun.com, 进行域名绑定的域名是file.zhengjiajun.com, 其中zhengjiajun.b0.aicdn.com和file.zhengjiajun.com指向的是同一个位置,但是前者不能访问,没有进行备案。

管理上传内容:登录https://uptool.tingfun.net(在chrome中无效,safari中有效)

图片上传到云端(只使用upyun)

#gemfile
gem 'upyun'

#resumes_controller.rb
class ResumesController < ApplicationController
  def create
    @resume = Resume.new(resume_params)
    @resume.save
    bucket = 'jayson'  #服务名称
    operator = 'jayzen' #操作员名称
    password = 'password' #操作员密码
    upload_file = params[:resume][:attach]
    upyun = Upyun::Rest.new(bucket, operator, password)
    remote_file = "/public/uploads/resume/attach/#{@resume.id}/#{upload_file.original_filename}"
    response = upyun.put remote_file, upload_file.read
    render :json => {
      :response => response,
      :url => "http://test.zhengjiajun.com#{remote_file}"
    }
  end
end

借助carrierwave-upyun上传到云端

#gemfile
gem 'carrierwave'
gem 'carrierwave-upyun'

#config/initializers/carrierwave.rb
CarrierWave.configure do |config|
  config.storage = :upyun
  config.upyun_username = "xxxxxx" #操作员名称
  config.upyun_password = 'xxxxxx' #操作员密码
  config.upyun_bucket = "my_bucket" #服务名称
  config.upyun_bucket_host = "http://test.zhengjiajun.com"
end

#attachment_uploader.rb
class AttachmentUploader < CarrierWave::Uploader::Base
  storage :upyun
end

#定制图片,可以在upyun中定制方法custom方法,url中获取如下
http://test.zhengjiajun.com/uploads/resume/attach/17/pic_demo.png!custom

results matching ""

    No results matching ""