Anzeige eines hochgeladenen Bildes in MVC 3 Razor

9

Nun, dieser Neuling macht etwas falsch, wenn er Bilder anzeigt, die auf den Server hochgeladen wurden:

Modell:

%Vor%

controller (Upload - Aufruf durch das [HttpPost] öffentliche ActionResult Create):

%Vor%

create view:

%Vor%

So weit, so gut, das Bild wird in den Ordner hochgeladen und die URL wird gespeichert

Nun möchte ich es in der Detailansicht sehen

Detailansicht:

%Vor%

Beim Anzeigen des generierten Codes scheint alles in Ordnung zu sein:

%Vor%

Aber Tatsache ist, dass nichts auf dem Bildschirm erscheint, außer dem Text "IMAGE".

Was mache ich falsch?

P.S. Ich habe versucht, ohne die Server.MapPath, mit der relativen Adresse "~ \ App_Data \ Uploads \ Fotos_nofoto.jpg" und das Ergebnis ist das gleiche.

--- BEARBEITEN ---

@ kmcc049: Ich habe deinen Vorschlag ausprobiert, einen Helfer zu erstellen

%Vor%

der Anruf in der Ansicht:

%Vor%

Der generierte Code ist

%Vor%

aber das Ergebnis ist das gleiche: kein Bild: (

--- Gelöst ---

Anscheinend ist die App_Data kein guter Ort, um hochgeladene Dateien zu speichern, da der Zugriff darauf einen Fehler 403 - Verboten ergibt. Ich verschiebe die Dateien nach ~ / Uploads / Fotos und es funktioniert.

    
Joao 06.09.2011, 14:15
quelle

2 Antworten

3

Das ist kein gültiger HTTP-Pfad. Das ist der Pfad zu dem Ordner auf Ihrem Computer.

versuchen Sie stattdessen die Methode UrlHelper.GenerateContentUrl() Ссылка

    
kmcc049 06.09.2011 14:24
quelle
2

Ein Bild hochzuladen und dann anzuzeigen, ist eine sehr häufige Anforderung für jede Webanwendung. Kürzlich musste ich einem Benutzer erlauben, ein Profilbild hinzuzufügen und später auf seinem Dashboard anzuzeigen.

Also hier ist, was ich getan habe, hoffe, dass dir das auch hilft.

Rasierkode

%Vor%

Wichtig ist hier, dass wir eine HTML-Eigenschaft namens enctype als enctype="multipart/form-data" hinzugefügt haben.

Als nächstes die Aktionsmethode für dieses Formular. Die Aktion akzeptiert zwei Eingabeparameter:

UserModel model: enthält alle Daten, die in das Formular eingegeben wurden. HttpPostedFileBase datei: Hier wird dein hochgeladenes Bild veröffentlicht. Code

%Vor%

Sie können manchmal auch mehrere Bilder hochladen, das ist auch nicht schwer, unten ist der Code dafür. Verwenden von IEnumerable.

Rasierkode:

%Vor%

und so lesen Sie die geposteten Dateien.

%Vor%

}

Nachdem Sie das Bild hochgeladen und den Bildpfad gespeichert haben, besteht die nächste Aufgabe darin, das Bild anzuzeigen.

Anzeigen des hochgeladenen Bildes

Prost!

** Referenzen **

Ссылка

Anzeige eines hochgeladenen Bildes in MVC 3 Razor

Ссылка

    
Shyam sundar shah 15.05.2013 06:51
quelle

Tags und Links