Question

J'ai un site Web sur GoDaddy. Toutes les autorisations sont correctement définies et l'image n'existe. Toutefois, lorsque la page se charge de l'image de l'élément sélectionné ne montre pas. Voici mon code

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

spaimage est un contrôle ASP et thr URL que l'image est réglée sur D: \ hébergement \ xxxxxxx \ calspas \ spaimages \ modelname.png

Qu'est-ce que je fais mal.

Était-ce utile?

La solution

Le chemin du fichier D:\hosting\xxxxxxx\calspas\spaimages\modelname.png est le dossier dans lequel l'image résidant sur le serveur Web. Vous envoyez ce que l'attribut <img> de balise src, qui indique au navigateur, « Va chercher l'image au D:\hosting\xxxxxxx\calspas\spaimages\modelname.png. » Le navigateur ne peut pas partir à l'unité D du serveur Web, il regarde son propre lecteur D pour ce dossier et de l'image.

Qu'est-ce que vous voulez dire à faire est d'avoir l'attribut <img> de balise src être un chemin vers un dossier sur le site . Vous êtes à peu près là - juste laisser tomber la partie Server.MapPath lors de l'attribution du chemin de l'image à la propriété ImageUrl. Autrement dit, au lieu de:

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

Do:

this.spaimage.ImageUrl = imagepath;

voir si cela fonctionne.

Merci

Autres conseils

Souvent, si une image « ne montre pas » (je suppose un est affiché en rouge-x équivalent pour montrer « image brisée »), je clic droit sur l'image brisée, copiez l'URL et ouvrir l'URL dans un fenêtre d'accès.

De cette façon, lorsque l'image est générée par un script, je vois tout texte d'erreur qui aurait pu montrer le script. Dans le cas contraire, l'image réelle sera affichée.

En outre, ajouter un bloc else à la

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

comme

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

Pour des fins de débogage.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top