Je suis le débogage d'un site Web ASP.NET qui a beaucoup de javascripts et d'images utilisant le serveur Web de développement Visual Studio 2008.VS serveur Web intégré envoie des images en tant que flux d'octets
L'un des nombreux scripts essaie de créer une balise <img>
à la volée et de lui fournir un attribut src
approprié. Cependant, aucune des images n'est chargée et le texte alt à la place est affiché dans Firefox, IE et Opera.
Creuser plus loin, je copié un des liens d'image, puis le coller dans la barre d'adresse de Firefox, ce qui est ce qui arrive dans la fenêtre en-têtes en direct:
GET /images/nav/zoomin.png HTTP/1.1
Host: localhost:7777
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6 (.NET CLR 3.5.30729)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
HTTP/1.x 200 OK
Server: ASP.NET Development Server/9.0.0.0
Date: Wed, 25 Feb 2009 16:59:23 GMT
X-AspNet-Version: 2.0.50727
Cache-Control: private
Content-Type: application/octet-stream
Content-Length: 292
Connection: Close
La partie problématique est l'en-tête Content-Type
qui est en quelque sorte mis à "application/octet-stream" forçant une opération de téléchargement au lieu de s'afficher normalement à l'intérieur de la balise <img>
.
Je suis sûr que ce n'est pas le javascript qui est le problème, parce que c'est le code qui a été copié textuellement d'une autre application qui a bien fonctionné. Je crois que j'ai peut-être mal configuré quelque chose quelque part. Mais je peux me tromper, alors voici le code qui crée la balise HTML:
var zin = document.createElement("img");
zin = $Img.Png(zin, Settings.ImageHost + "zoomin.png");
zin.style.top = (this.y + zoomPaddingY) + "px";
zin.style.left = (this.x + zoomPaddingX) + "px";
zin.style.position = "absolute";
$Img.Swap(zin, Settings.ImageHost + "zoomin.png", Settings.ImageHost + "zoomin_active.png");
zin.alt = zin.title = "zoom in";
zin.style.cursor = this.hand;
$Evt.addListener(zin, "click", this.zoomIn, this, true);
// long long scroll ...
controlDiv.appendChild(zin);
La partie $Img.Png
fonctionne bien pour d'autres images PNG, donc il ne devrait pas être la source du problème.
Qu'est-ce que j'ai mal fait?!?
Merci pour toute aide!
Il est déjà minuit ici ... et je travaille encore sur cette petite application ...