七牛云上传

Published on:

上传图片到七牛云容易出现的问题与解法

question1

教材

12-3使用七牛云(用来存储图片)

strp3:在专案中设置七牛云

有这么一个步:

大部分都没有注意到这个地方,什么叫 “选择不同的区域”呢?”

这一步如果操作不妥当的话,图片就会半小时消失,消失……

其实这部是和上一步 step2:创建存储空间 是有关系的!

如果有幸选择华东的话,按照教程上的操作完全没问题,但是如果像我一样选择别区域的话(甚至为了就近还去google一下),就会报错,

解法在这里:

如果选择的是华北config/initializers/carrierwave.rb里请这么写

CarrierWave.configure do |config|
  config.storage             = :qiniu
  config.qiniu_access_key    = ENV["qiniu_access_key"]
  config.qiniu_secret_key    = ENV["qiniu_secret_key"]
  config.qiniu_bucket        = ENV["qiniu_bucket"]
  config.qiniu_bucket_domain = ENV["qiniu_bucket_domain"]
  config.qiniu_block_size    = 4*1024*1024
  config.qiniu_protocol      = "http"
  config.qiniu_up_host       = "http://up-z1.qiniu.com"  #我是华北
end

如果选择的是华南的话,config/initializers/carrierwave.rb里请这么写

CarrierWave.configure do |config|
  config.storage             = :qiniu
  config.qiniu_access_key    = ENV["qiniu_access_key"]
  config.qiniu_secret_key    = ENV["qiniu_secret_key"]
  config.qiniu_bucket        = ENV["qiniu_bucket"]
  config.qiniu_bucket_domain = ENV["qiniu_bucket_domain"]
  config.qiniu_block_size    = 4*1024*1024
  config.qiniu_protocol      = "http"
  config.qiniu_up_host       = "http://up-z2.qiniu.com"  #我是华南
end

就ok啦

question2

还是

12-3使用七牛云(用来存储图片)

strp3:在专案中设置七牛云

上传到heroku上没问题了,本地rails s会报红,好红!

为啥?上传到heroku的图片被你保存的七牛了,在本地运行的时候是不是应该改回来!

那难道每次上传之前都改过去,成功了之后再改过来么?

你还别说,我有一段时间真是这么做的,宝宝心里苦,但宝宝不说TAT。

其实有更简单的办法呀!

app/uploaders/image_uploader.rb

注释掉第8行、第9行,加上

  if Rails.env.production? #远端
    storage :qiniu
  elsif Rails.env.development? #本地
    storage :file
  end

就ok啦!

当然还有别的写法,我就不多说了,防止粗心的人重复操作。

这两条大概就可以解决掉80%的问题了,嘻嘻。

PS:本贴案例用于我们的jdstore作品第四版黑暗料理模块,希望你能帮我们做下测试和提意见,如果喜欢请帮我们投上一票。谢谢你能读到最后。

这有一些其他的教程 可能对你有帮助

这可能是全栈营最详细的【带缩略图的轮播图】教程

这可能是全栈营最详细的【省市区详细地址】教程

这可能是全栈营最详细的【下拉菜单和按钮失效】解决办法]

这可能是最详细的全栈营【seed】教程

这可能是最容易出现的全栈营【七牛云上传】教程

这可能是全栈营最详细的【客服系统】教程

欢迎随时和我交流

Comments

comments powered by Disqus