【问题标题】:Image name "+" why throw 404图片名称“+”为什么会抛出404
【发布时间】:2021-04-22 21:20:35
【问题描述】:

我使用 laravel 创建了一个网页,其中我通过 url 从后端获取的产品图像:https://examole.com/cache/medium/product/3954/Wl2+spitak.jpg。 如果图像的名称包含“+”,那么我无法在前面获取图像并收到 404 错误,但在 admin 中,我可以看到图像。例如,如果我将“+”符号更改为“-”,那么我可以将图像放在我的前面。有什么解决办法???

【问题讨论】:

  • 在你的刀片上使用这个{{ rawurlencode(str_replace('+','%2B', $file_name)) }}
  • @sta 这是双重编码,带有不必要和不良的做法str_replace

标签: php laravel


【解决方案1】:

有时 PHP 可能对这样的事情有点挑剔。尝试将 + 替换为其 UTF-8 转义字符 %2B

【讨论】:

    【解决方案2】:

    + is a reserved symbol.

    您可以使用它,但对于 HTML 中的所有 URL,特殊字符必须是 encoded

    你可能有什么:

    <img src="https://examole.com/cache/medium/product/3954/Wl2 +spitak.jpg">
    

    应该是什么:

    <img src="https://examole.com/cache/medium/product/3954/Wl2%20%2Bspitak.jpg">
    

    将空格编码为%20,将+符号编码为%2B

    【讨论】:

      猜你喜欢
      • 2018-08-19
      • 1970-01-01
      • 2013-01-02
      • 1970-01-01
      • 2021-12-20
      • 2021-03-05
      • 2021-03-19
      • 2023-03-14
      • 2021-04-09
      相关资源
      最近更新 更多