S3上传后永久301移到移到、上传

2023-09-11 08:21:38 作者:本尊~、獨愛

我试着使用carrierwave和雾宝石上传图片到S3上的Ruby on Rails,图像正确上传但是当我尝试涂保存,包含有关刚刚上传即时得到这个错误的图像信息模型:

  EXCON ::错误:: MovedPermanently在UserController的#秀
应用程序/模型/ user.rb:46:在'process_image_with_key
应用程序/控制器/ user_controller.rb里:12:在'秀'

< EXCON ::回应:0x007f97846a3c18 @body =?< XML版本= \1.0 \编码= \UTF-8 \> \ N'LT;错误>< code取代; PermanentRedirect< / code><消息>您正试图访问的桶必须使用指定的端点解决请将今后所有申请到这个端点< /消息>
 

User模型:

  mount_uploader:图像,​​AvatarUploader

高清IMAGE_NAME
  File.basename(image.path || image.filename)如​​果图像
结束

高清process_image_with_key(钥匙)
  除非key.nil?
    self.key =关键
    self.remote_image_url = self.image.direct_fog_url(with_path:真)
    self.save!
  结束
结束
 

AvatarUploader:

 #编码:UTF-8

类AvatarUploader< CarrierWave ::上传::基地

  包括CarrierWaveDirect ::上传

  包括CarrierWave :: RMagick

  #包括链轮佣工的Rails 3.1+资产管道兼容性:
  包括链轮::助手:: RailsHelper
  包括链轮::助手:: IsolatedHelper

  包括CarrierWave :: MIMETYPES
  过程:set_content_type

  版本:拇指做
    过程resize_to_fill:[50,50]
  结束

结束
 
为什么我电脑比如QQ换头像刚点本地上传 鼠标就自动移到了下方确定的位置上面 打开什么东西都是这样

用户控制

 高清节目
  @user = User.find_by_id(PARAMS [:ID])
  @ user.process_image_with_key(PARAMS [:密钥])
  @uploader = User.new.image
  @ uploader.success_action_redirect = user_url(@ user.id)
结束
 

carriwerwave初始化

  CarrierWave.configure办|配置|
  config.fog_credentials = {
    :供应商=> AWS,
    :aws_access_key_id => ENV ['AWS_ACCESS_KEY_ID'],
    :aws_secret_access_key => ENV ['AWS_SECRET_ACCESS_KEY'],
    :地区=> 美西1'
  }
  config.fog_directory = ENV ['AWS_FILE_BUCKET']
  config.fog_attributes = {'的Cache-Control'=>最大年龄= 315576000'}
结束
 

的Gemfile

 创业板carrierwave
创业板rmagick
宝石'雾'
创业板carrierwave_direct
 

解决方案

Amazon S3 在大多数地区/所有 AWS的SDK 是的美国标准的,它的自动请求路由到设施在北弗吉尼亚州或西北太平洋地区使用网络地图的(见的