首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >载波远程网址错误引发IOError,“试读体出块”如果@socket.closed?

载波远程网址错误引发IOError,“试读体出块”如果@socket.closed?
EN

Stack Overflow用户
提问于 2022-09-12 12:24:22
回答 1查看 238关注 0票数 4

我在Rails应用程序上使用remote_url从CarrierWave远程上传图像。它过去很好,但现在我遇到了一个问题。

控制器

代码语言:javascript
复制
@pool = Pool.new(remote_main_picture_url: "https://myimageurl...")
if @pool.save //is causing the error
....
end

Uploader

代码语言:javascript
复制
class ImageUploader < CarrierWave::Uploader::Base
  include CarrierWave::MiniMagick

  def store_dir
    "#{ENV['AWS_S3_BUCKET_NAME']}/#{model.class.to_s.underscore}/#{model.id}"
  end

  def extension_allowlist
    %w(jpg jpeg gif png svg webp)
  end

  process resize_to_fit: [2000, 2000]

  version :medium do
    process resize_to_fit: [400, 400]
  end

  def filename
    @name ||= "#{mounted_as}_#{timestamp}.png" if original_filename.present?
  end

  def timestamp
    var = :"@#{mounted_as}_timestamp"
    model.instance_variable_get(var) or model.instance_variable_set(var, Time.now.to_i)
  end
end

Gemfile

代码语言:javascript
复制
source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git" }

ruby '3.0.2'

gem 'rails', '~> 6.1.4'
gem 'pg'
gem 'puma'

gem 'bootsnap', '1.10.3', require: false
gem "webpacker"

gem 'carrierwave', '~> 2.0'
gem 'fog-aws'
gem 'mini_magick'

错误消息

代码语言:javascript
复制
NoMethodError (undefined method `closed?' for nil:NilClass
raise IOError, 'attempt to read body out of block' if @socket.closed?

错误似乎链接到了net/http,我不知道是什么改变导致了这个问题.也许是吉文更新..。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-15 07:38:01

载波安装创业板ssrf_filter类似的依赖性和持续版本的这一创业板提出了这个问题。您需要安装版本为1.0.8的ssrf_filter gem

gem 'ssrf_filter', '1.0.8'

关于https://github.com/carrierwaveuploader/carrierwave/issues/2625的更多细节

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73689222

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档