【发布时间】:2020-05-16 10:28:54
【问题描述】:
我的图片名称是; "1#34DEMO34#13012020#151037.jpg"
从相机自动创建的图像名称。
1 = 相机 ID
34DEMO34 = 盘子
13012020 = ddMMyyyy
151037 = HHmmss
我测试它;
<div style="bacground-image: url(1#34DEMO34#13012020#151037.jpg) width:200px; heig...." ></div>
<image src="1#34DEMO34#13012020#151037.jpg" />
<asp:Image ImageUrl="1#34DEMO34#13012020#151037.jpg" />
名称有 3 个“#”字符。如果我将一个 '#' 更改为 '_' 就可以了。
但我无法更改它,因为另一个应用程序使用了这些图像。
如何在我的页面上显示这些图片?
【问题讨论】:
-
#是包含在 URL 中的片段标识符。您应该将文件重命名为不包含片段标识符的内容。最好为每个文件分配一个唯一 ID(例如 GUID),然后重命名文件以包含唯一标识符。您可以将文件的其他特征(相机 ID、板、日期等)存储在与该 ID 关联的数据库中。 -
我无法重命名它,因为另一个应用程序正在使用这些图像。
-
那么其他应用程序将不得不进行调整。 Fragment identifiers aren't even sent to the server。您可能能够对哈希进行 URL 编码(将
#替换为%23),但使用与 Web 不兼容的外部文件名是您真正应该改变的。