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.
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
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 **
Tags und Links asp.net-mvc-3 razor