0
我正在嘗試創建一個簡單的圖片庫。上傳作品,但我有顯示這些圖像的問題。顯示上傳的圖片
在我發現,這是做正確的方式在互聯網:
[NotMapped]
public string ImageUrl
{
get
{
var isEmpty = String.IsNullOrWhiteSpace(ImgName);
if(isEmpty)
{
return Path.Combine("~/Images", "noImageAvailable.png");
}else
{
return Path.Combine("~/Images/uploaded", ImgName);
}
}
}
,並在其中產生的觀點
@foreach (var item in Model) {
...
@{ var imgPath = HostingEnvironment.MapPath(item.ImageUrl); }
<img src="@Url.Content(imgPath)"/>
:
<img src="C:\......\Images\uploaded\0_634927659072110613.jpg"/>
對我有效的是:
[NotMapped]
public string ImageUrl
{
get
{
var isEmpty = String.IsNullOrWhiteSpace(ImgName);
if(isEmpty)
{
return Path.Combine("../Images", "noImageAvailable.png");
}else
{
return Path.Combine("../Images/uploaded", ImgName);
}
}
}
並在視圖:
@foreach (var item in Model) {
.....
<img src="@Url.Content(item.ImageUrl)"/>
哪個生產:
<img src="../Images/uploaded\0_634927649098750170.jpg"/>
備註
有2個差異:
- 〜/圖像VS ../Images
- 的線路中的視圖
有趣的是,該線
<img src="C:\......\Images\uploaded\0_634927659072110613.jpg"/>
顯示在靜態獨立文件的圖像,而當它由IIS提供時,它不會。只有空白而不是圖像。
我的問題是什麼是正確的方法,也是爲什麼第一個工作?