小编Jus*_*tin的帖子

获取 blob 的 url 时图像/png 的未知格式错误

我收到此错误:

ActionController::UnknownFormat (ErrorPagesController#not_found is missing a template for this request format and variant.

request.formats: ["image/png"]
request.variant: []):
Run Code Online (Sandbox Code Playgroud)

当我尝试访问 blob 的 url 时。我已将图像文件 (.png) 上传到活动存储,并且可以在我的数据库和本地文件系统中看到它。'product.image.attached?' 返回真。但是,当我尝试访问它(以显示在我的页面上)时,出现上述错误。

我试过了:

= image_tag url_for(product.pic)
= image_tag url_for(Rails.application.routes.url_helpers.rails_blob_path(product.image, only_path: true))
= image_tag url_for(product.image.service_url)
= link_to 'download', rails_blob_path(product.image, disposition: "attachment")

def pic_url
  if self.pic.attached?
    # Rails.application.routes.url_helpers.rails_blob_url(self.image, only_path: true)
    ActiveStorage::Current.set(host: "localhost:3000") do
      self.pic.service_url
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

我得到的网址:HTTP://本地主机:3000 /导轨/ active_storage /磁盘/ eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDRG9JYTJWNVNTSWRiWGQ2VUhGWWVEZExaVFZ3VTFGeWVrZFRZVUpFUWtaeUJqb0dSVlE2RUdScGMzQnZjMmwwYVc5dVNTSmJhVzVzYVc1bE95Qm1hV3hsYm1GdFpUMGljM05qWDJ4dloyOWZkMmhwZEdWZmMyMWhiR3d1Y0c1bklqc2dabWxzWlc1aGJXVXFQVlZVUmkwNEp5ZHpjMk5mYkc5bmIxOTNhR2wwWlY5emJXRnNiQzV3Ym1jR093WkdPaEZqYjI1MFpXNTBYM1I1Y0dWSklnNXBiV0ZuWlM5d2JtY0dPd1pVIiwiZXhwIjoiMjAxOS0wOC0wMVQwNzoxMjo1NC41NDRaIiwicHVyIjoiYmxvYl9rZXkifX0 = - 59b28fbf1b78f8d0e408040deb9f538473b6fd6f / ssc_logo_white_small.png CONTENT_TYPE =图像%2Fpng和处置=直列%3B +文件名%3D%22ssc_logo_white_small.png%22%3B +文件名%2A%3DUTF-8%27%27ssc_logo_white_small.png

这导致错误。

如果有任何我遗漏的地方,请告诉我。谢谢

编辑:我在我的日志中得到了这个:

Disk Storage (372.6ms) Generated …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails rails-activestorage ruby-on-rails-5.2

4
推荐指数
1
解决办法
765
查看次数