gpt4 book ai didi

ruby-on-rails - 回形针上传 404ing

转载 作者:行者123 更新时间:2023-12-04 21:45:14 25 4
gpt4 key购买 nike

我不确定我是否了解 Paperclip 的工作原理,但据我所知,保存上传的默认位置在/public 文件夹中。当我将我的照片上传到我的开发中时,它们会正确显示(并且我可以在文件结构中打开它们):

/public/bookmarks/:id/:style.:extension

但是,当我这样做时 bookmark.photo.url ,我得到类似的信息:
/system/bookmarks/thumbs/000/000/042/original/filename.png?1362768439

这是我的 bookmark.rb :
has_attached_file   :photo,
:styles => { :medium => ["512x512>", :jpg], :thumb => ["200x200#", :jpg] }
:default_url => "public/bookmarks/default/:style.png",
:path => "assets/content/bookmarks/:id/:style.:extension"

我在这里错过了什么吗?回形针不是要为我处理这些东西,还是我的配置有问题?

更新

如果我添加 :path:url在第一个答案中,我得到:
<img src="/assets/bookmarks/44/original.jpg?1362775508">

而我应该得到:
<img src="/bookmarks/44/original.jpg?1362775508">

但是,如果我注释掉 :url选项,而不是获得:

This, which is the default size

这是默认的未找到图像大小,我得到:

enter image description here

这与我在文件系统上的图像宽度相同,但高度错误,并且未找到。这种情况在 Chrome 和 Safari 中都会发生,并且具有干净的缓存。当我转到 URL 时,得到 404。我还可以确认图像正确存储在文件系统中并且可以从后端查看。

最佳答案

你描述的行为有点奇怪。我建议你以类似的方式设置 :url 和 :path :

url: '/:class/:id/:style.:extension',
path: ':rails_root/public:url'

这意味着图像将存储在:
"#{Rails.root}/public/bookmarks/:id/:style.:extension"

该 URL 将为您提供如下内容:
/bookmarks/bookmarks/1/thumbs.png

请注意,您可以使用 config.paperclip_defaults 执行此操作在“application.rb”中,因此您不必在每个模型上都这样做。如果您想要不同的路径或存储,您可以在“production.rb”上覆盖它,例如:
  config.paperclip_defaults = config.paperclip_defaults.merge({
storage: :s3,
path: 'project_name/public:url'
})

关于ruby-on-rails - 回形针上传 404ing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15301173/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com