2017-02-25 6 views
0

Ich bin neu in asp.net MVC. Ich habe die Bildquelle in der Datenbank mit dem folgenden:Das Bild-Tag zeigt kein Bild an, während die Bild-URL in Ordnung ist. MVC

@Model.Image2Url = "C:\Users\vasamad\Documents\VisualStudio2015\Projects\ReactMVC\ReactMVC\Content\Images\Products\3.jpg" 

ich es wie diese

<img src="@Model.Image2Url" alt="No Image"/> 

in Browser inspiziert Element „kann nicht geladen wird das Bild“ sehen bin hinzugefügt, wenn ich diese URL kopieren und in der neuen Registerkarte, die das Bild zeigt.

+0

* My Image-Tag ist in Ordnung .. dies nur Fehler ist die Eingabe. –

Antwort

1

sollten Sie speichern eine relative Bild Pfad zu Ihrem MVC-Anwendung root:

~/Content/Images/Products/3.jpg 

Wenn Sie die volle Bildpfade wollen, dann müssen Sie eine Controller-Aktion schreiben, die dieses Bild aus dem absoluten Pfad lesen und Strom es zur Antwort. Schließlich muss das Tag auf diese neue Controller-Aktion zeigen. Hier ein Beispiel:

public ActionResult MyImage() 
{ 
    // Get this from your database 
    string absoluteImagePath = "C:\\Users\\vasamad\\Documents\\VisualStudio2015\\Projects\\ReactMVC\\ReactMVC\\Content\\Images\\Products\\3.jpg"; 
    return File(absoluteImagePath, "image/jpeg"); 
} 

und dann im Blickpunkt der Image-Tag zu dieser Aktion:

<img src="@Url.Action("MyImage", "MyController")" alt="" /> 
+0

Wie kann ich den relativen Bildpfad speichern? var ImagePath = Path.Combine (Server.MapPath ("~/Inhalt/Bilder/Produkte /") + img.FileName); ????? –

Verwandte Themen