• #4楼 @saiga 谢谢!我去了解一下你说的方法。

    #5楼 @huacnlee 十分感谢,我的问题已经解决了,其实原因很愚蠢。由于我是把upyun的配置放在ENV变量里的: carrierwave.rb

    CarrierWave.configure do |config|
      config.storage = :upyun
      config.upyun_username = ENV['UPYUN_USER']
      config.upyun_password = ENV['UPYUN_PASS']
      config.upyun_bucket = ENV['UPYUN_BUCKET']
      config.upyun_bucket_domain = ENV['UPYUN_DOMAIN']
    end
    

    而EVN变量的配置我并没有直接配置在shell的环境变量中,而是配置在自定义文件 local_env.yml 中,然后在 application.rb 中将该文件的配置放入 ENV 里。 因为之前upyun上传都能正常工作,所以我下意识认为这部分都是没有问题的,但是经过仔细检查之后,发现这中间确实出了问题,而且是很低级的错误,不知道是什么时候引入的。

    十分惭愧,自己没有仔细检查就来寻求帮助,看来遇到问题不能相信“下意识”,还是要一个个环节检查过去才行。总之再次感谢两位!

  • #1楼 @saiga 感谢回复!

    正如我前面描述的,操作员和密码,以及空间名,都是可以确认没有错误的,而且在升级到 Rails 4.1.0 之前都是正常工作的。

    而 carrierwave-upyun 并不会打印 restclient 的相关日志,所以也看不到 upyun 返回的的详细信息。由于接触 Ruby on Rails 刚开始没多久,我现在能想到的办法就是通过网络抓包来看看,如果有其他更好的办法请指点一下我。谢谢!