Frage

ich eine Website auf GoDaddy haben. Alle Berechtigungen korrekt eingestellt sind und das Bild ist nicht vorhanden. Allerdings, wenn die Seite geladen wird das Bild für das Element ausgewählt zeigt nicht. Hier ist mein Code

        imagepath = "~/spaimages/" + currentSpaModel.Name.ToString() + ".png";
        if (File.Exists(Server.MapPath(imagepath)))
        { this.spaimage.ImageUrl = Server.MapPath(imagepath); }

spaimage ist eine ASP-Steuerung und thr URL, dass das Bild gesetzt wird, wird D: \ Hosting \ xxxxxxx \ calspas \ spaimages \ modelname.png

Was mache ich falsch.

War es hilfreich?

Lösung

Der Dateipfad D:\hosting\xxxxxxx\calspas\spaimages\modelname.png ist der Ordner, in dem das Bild auf dem Web-Server befindet. Sie senden diese als die <img> Attribut des src-Tag, das den Browser anweist, „Go das Bild in D:\hosting\xxxxxxx\calspas\spaimages\modelname.png bekommen.“ Der Browser kann nicht auf dem Laufwerk D des Webservers gehen, so dass es auf seiner eigenen D-Laufwerk für diesen Ordner und Bild aussieht.

Was Sie bedeuten, zu tun ist, den <img> -Tags src Attribut zu haben, ein Pfad zu einem Ordner auf der Website . Sie sind dabei, da nur - nur den Server.MapPath Teil fallen, wenn das Bild Pfad zur ImageUrl Eigenschaft zuweisen. Das heißt, statt:

this.spaimage.ImageUrl = Server.MapPath(imagepath);

Sie:

this.spaimage.ImageUrl = imagepath;

sehen, ob das funktioniert.

Danke

Andere Tipps

Oft, wenn ein Bild „nicht“ (ich nehme an einem rot-x-äquivalent angezeigt wird „gebrochen Bild“ zeigen), I Rechtsklick auf das gebrochene Bild, kopieren Sie die URL und öffnen Sie die URL in einem separate Browser-Fenster.

Auf diese Weise, wenn das Bild durch einen Skript erzeugt wird, sehe ich jeden Text Fehler, dass das Skript gezeigt haben könnte. Wenn nicht, würde das reale Bild angezeigt werden.

Darüber hinaus fügen Sie einen else Block zum

if (File.Exists(Server.MapPath(imagepath)))

wie

else 
{ 
    Response.Write(string.Format(
        "File does not exist at '{0}'.", 
        Server.MapPath(imagepath))); 
}

Für Debugging-Zwecke.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top