活动存储:具有特殊字符的文件名

Active Storage: filenames with special characters

在我的应用程序中,用户可以更改横幅的背景图像。他们使用 Simple Form 和 Active Storage 上传文件。它工作正常,但我们有一个用户试图上传文件名 banner-website.png (2).png。文件已上传并保存,但未显示为背景图像。我猜这是因为文件名中的特殊字符。

有什么建议可以避免这种情况?我们需要清理文件名吗?

要检查的几件事:

  1. 检查控制台并尝试查看 CSS 并查看是否完整 link 正在填充?尝试检查 CSS 代码并将 link 复制到 地址栏以查看图像是否从该方向加载。
  2. 检查用户的 png 文件以确保它没有损坏。损坏的 PNG headers 可能会导致网站显示问题。
  3. 检查您的清理插件是否导致该文件出现问题。我从来没有用过那个,所以我不能说。

我尝试将同名文件上传到我的 Rails 6 测试台(带有活动存储和刺激 js 的香草)并且它工作正常。它也可能是一个冲突的 CSS 代码。

只是我的 2 美分。

我在这里找到了解决方案:

在 URL 周围添加单引号解决了问题。