Domanda

Ho un sito web su GoDaddy. Tutte le autorizzazioni siano impostate correttamente e l'immagine esiste. Tuttavia, quando la pagina viene caricata l'immagine per l'elemento selezionato non mostra. Ecco il mio codice

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

spaimage è un controllo ASP e thr URL che l'immagine è impostata è D: \ ospita \ xxxxxxx \ calspas \ spaimages \ modelname.png

Che cosa sto facendo di sbagliato.

È stato utile?

Soluzione

Il D:\hosting\xxxxxxx\calspas\spaimages\modelname.png percorso del file è la cartella in cui l'immagine risiede sul server web. Stai inviando questo come attributo <img> del tag src, che dice al browser, "Vai a prendere l'immagine a D:\hosting\xxxxxxx\calspas\spaimages\modelname.png." Il browser non può andare via per l'unità D del server web, in modo che appaia sul suo drive D per quella cartella e l'immagine.

Che cosa hai intenzione di fare è di avere l'attributo <img> del tag src essere un percorso di una cartella sul sito web . Si è sul punto lì - basta semplicemente inserire la parte Server.MapPath durante l'assegnazione del percorso di immagine alla proprietà ImageUrl. Cioè, invece di:

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

Do:

this.spaimage.ImageUrl = imagepath;

vedere se funziona.

Grazie

Altri suggerimenti

Spesso, se un'immagine "non mostra" (presumo un rosso-x-equivalente che viene visualizzato per mostrare "un'immagine rotto"), right-click l'immagine rotto, copiare l'URL e aprire l'URL in un finestra separata del browser.

In questo modo, quando l'immagine viene generata da alcuni script, ho visto alcun testo di errore che lo script potrebbe essere mostrato. In caso contrario, verrebbe visualizzata l'immagine reale.

Inoltre, aggiungere un blocco else alla

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

come

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

Per scopi di debug.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top