0

我已将图片上传到目录 ~\Files\image\C3-E1-B6-74.png,我将其保存在数据库中。现在我正在尝试显示此图像。

cshtlm

 <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">

所以链接正确呈现。当我复制此链接并将其粘贴到我的文件夹浏览器中时,它会打开相应的图像。

在搜索这个问题时我发现

在最新的 Razor 引擎 - MVC.NET 中找不到“图像/子文件夹”下的图像

我检查了扩展,一切都是正确的。

有没有人有另一种可能的解决方案?

提前致谢

4

2 回答 2

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"/>

我不确定您是如何存储文件信息的,但如果您包含完整的文件路径,这将不适用于任何类型的托管网站。

于 2013-08-27T21:33:16.593 回答
0

在数据库中,我保存了一个绝对路径。这是完全错误的,要走的路是将文件名保存在数据库中并创建一个为我保存图像的全局变量,这是:

string path = "~/Files/image/"

然后在剃须刀页面中,我可以调用全局变量并在其后传递文件名......

<img src="~/Files/image/@file.FileLink" alt="test" />

ASP.net 永远不会在您的本地计算机上搜索文件/图像,因此您始终必须使用相对路径,例如:~/Files/image/

于 2013-08-27T21:33:42.403 回答