我已将图片上传到目录〜\ Files \ image \ C3-E1-B6-74.png,我将其保存在数据库中。现在我正试图显示这个图像。
<img src="@Url.Content(file.FileLink)" alt="test" />
呈现此页面时,我会检查图像标记
<img alt="test" src="C:\Users\thomas\Desktop\Freelauncher1005\Freelauncher\Files\image\C3-E1-B6-74.png">
因此链接正确呈现。当我复制此链接并将其粘贴到我的文件夹浏览器中时,它会打开相应的图像。
在搜索此问题时,我找到了
Images under "image/subfolder" cannot be found in the latest Razor Engine - MVC.NET
我检查了扩展名,一切正确。
有没有人有其他可能的解决方案?
提前致谢
答案 0 :(得分:1)
C:\Users\thomas\Desktop\Freelauncher1005\Freelauncher\Files\image\C3-E1-B6-74.png
此类链接无法在网络浏览器/网页中使用。您需要具有来自网站根目录的相对路径或绝对路径。例子:
相对路径
<img src="/Files/image/C3-E1-B6-74.png" />
绝对路径
<img src="http://localhost/Freelauncher/Files/image/C3-E1-B6-74.png"/>
我不确定您是如何存储文件信息的,但如果您要包含完整的文件路径,则不适用于任何类型的托管网站。
答案 1 :(得分:0)
在数据库中我保存了绝对路径。这是完全错误的,要走的路是将文件名保存在数据库中并创建一个globalvariable,为我保存图像,这是:
string path = "~/Files/image/"
然后在剃刀页面中我可以调用全局变量并在它之后经过文件名...
<img src="~/Files/image/@file.FileLink" alt="test" />
ASP.net绝不会在本地计算机上搜索文件/图像,因此您必须始终使用相对路径,例如:〜/ Files / image /