Ruby&Rails---阿里云OSS使用之carrierwave-aliyun

我們可以使用阿里云的oss來存放我們項目所使用的資源,如用戶頭像,音頻等文件李皇。

1.首先在阿里云的oss創(chuàng)建bucket

bucket設為公共讀温学。


圖片.png
2.安裝gem
gem 'carrierwave'
gem 'carrierwave-aliyun'
3.配置config/initializers/carrierwave.rb
CarrierWave.configure do |config|

  config.storage = :aliyun
  config.aliyun_access_id = "LTAIsvndsd9GGs1J"
  config.aliyun_access_key = '2UuuxL6NSbjZ9jMufHJObSvmtd0VYK'
  # 你需要在 Aliyum OSS 上面提前創(chuàng)建一個 Bucket
  config.aliyun_bucket = "hpd-ddd"
  # 是否使用內部連接,true - 使用 Aliyun 主機內部局域網的方式訪問  false - 外部網絡訪問
  config.aliyun_internal = false
  # 配置存儲的地區(qū)數(shù)據(jù)中心钙畔,默認: cn-hangzhou
  config.aliyun_area = "cn-shenzhen"
  # 使用自定義域名茫陆,設定此項,carrierwave 返回的 URL 將會用自定義域名
  # 自定義域名請 CNAME 到 you_bucket_name.oss-cn-hangzhou.aliyuncs.com (you_bucket_name 是你的 bucket 的名稱)
  config.aliyun_host = "https://hpd-ddd.oss-cn-shenzhen.aliyuncs.com"
  # Bucket 為私有讀取請設置 true擎析,默認 false簿盅,以便得到的 URL 是能帶有 private 空間訪問權限的邏輯
  #config.aliyun_private_read = true

end
4.配置app/uploaders/avatar_uploader.rb
class AvatarUploader < CarrierWave::Uploader::Base

  # Include RMagick or MiniMagick support:
  # include CarrierWave::RMagick
  # include CarrierWave::MiniMagick

  # Choose what kind of storage to use for this uploader:
  # 存儲的類型是文件
  #storage :file

  storage :aliyun


  # storage :fog

  # Override the directory where uploaded files will be stored.
  # This is a sensible default for uploaders that are meant to be mounted:
  # 圖片存放的位置
  def store_dir
    if Rails.env.production?
      "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
    else
      "development/uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
    end

  end

  # Provide a default URL as a default if there hasn't been a file uploaded:
  def default_url(*args)
    # For Rails 3.1+ asset pipeline compatibility:
    # ActionController::Base.helpers.asset_path("fallback/" + [version_name, "default.png"].compact.join('_'))
    # "/images/fallback/" + [version_name, "default.png"].compact.join('_')
    "http://hpd-ddd.oss-cn-shenzhen.aliyuncs.com/uploads/app_user/avatar/default_user_icon.png"
  end

  # Process files as they are uploaded:
  # process scale: [200, 300]
  #
  # def scale(width, height)
  #   # do something
  # end

  # Create different versions of your uploaded files:
  # version :thumb do
  #   process resize_to_fit: [50, 50]
  # end

  # Add a white list of extensions which are allowed to be uploaded.
  # For images you might use something like this:
  # 圖片格式接受白名單
  # def extension_whitelist
  #   %w(jpg jpeg gif png)
  # end

  # Override the filename of the uploaded files:
  # # Avoid using model.id or version_name here, see uploader/store.rb for details.
  def filename
    "#{model.id}__#{Time.now.to_i}.#{original_filename.split(".").last}" if original_filename
  end

end

6.設置model
class AppUser < ApplicationRecord

  mount_uploader :avatar, AvatarUploader
 
end
6.存取

user = AppUser.new
user.avatar = params[:avatar]
user.save

user.avatar.url
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市揍魂,隨后出現(xiàn)的幾起案子桨醋,更是在濱河造成了極大的恐慌,老刑警劉巖现斋,帶你破解...
    沈念sama閱讀 211,348評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件喜最,死亡現(xiàn)場離奇詭異,居然都是意外死亡庄蹋,警方通過查閱死者的電腦和手機瞬内,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,122評論 2 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蔓肯,“玉大人遂鹊,你說我怎么就攤上這事≌岚” “怎么了秉扑?”我有些...
    開封第一講書人閱讀 156,936評論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長调限。 經常有香客問我舟陆,道長,這世上最難降的妖魔是什么耻矮? 我笑而不...
    開封第一講書人閱讀 56,427評論 1 283
  • 正文 為了忘掉前任秦躯,我火速辦了婚禮,結果婚禮上裆装,老公的妹妹穿的比我還像新娘踱承。我一直安慰自己倡缠,他們只是感情好,可當我...
    茶點故事閱讀 65,467評論 6 385
  • 文/花漫 我一把揭開白布茎活。 她就那樣靜靜地躺著昙沦,像睡著了一般。 火紅的嫁衣襯著肌膚如雪载荔。 梳的紋絲不亂的頭發(fā)上盾饮,一...
    開封第一講書人閱讀 49,785評論 1 290
  • 那天,我揣著相機與錄音懒熙,去河邊找鬼丘损。 笑死,一個胖子當著我的面吹牛工扎,可吹牛的內容都是我干的徘钥。 我是一名探鬼主播,決...
    沈念sama閱讀 38,931評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼定庵,長吁一口氣:“原來是場噩夢啊……” “哼吏饿!你這毒婦竟也來了?” 一聲冷哼從身側響起蔬浙,我...
    開封第一講書人閱讀 37,696評論 0 266
  • 序言:老撾萬榮一對情侶失蹤猪落,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后畴博,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體笨忌,經...
    沈念sama閱讀 44,141評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,483評論 2 327
  • 正文 我和宋清朗相戀三年俱病,在試婚紗的時候發(fā)現(xiàn)自己被綠了官疲。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,625評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡亮隙,死狀恐怖途凫,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情溢吻,我是刑警寧澤维费,帶...
    沈念sama閱讀 34,291評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站促王,受9級特大地震影響犀盟,放射性物質發(fā)生泄漏。R本人自食惡果不足惜蝇狼,卻給世界環(huán)境...
    茶點故事閱讀 39,892評論 3 312
  • 文/蒙蒙 一阅畴、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧迅耘,春花似錦贱枣、人聲如沸监署。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽焦匈。三九已至,卻和暖如春昵仅,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背累魔。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工摔笤, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人垦写。 一個月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓吕世,卻偏偏與公主長得像,于是被迫代替她去往敵國和親梯投。 傳聞我的和親對象是個殘疾皇子命辖,可洞房花燭夜當晚...
    茶點故事閱讀 43,492評論 2 348

推薦閱讀更多精彩內容