express.js ne servant pas mon image
Je ne comprends pas ce qui se passe mal ici.
structure de répertoire:
app/server.js
app/public/index.html
app/public/js/main.js
app/public/img/car.png
server.js
var fs = require('fs') ,express = require('express'),
app = express.createServer();
app.use(express.static(__dirname + "/public"));
app.get('/', function(req, res){
fs.readFile(__dirname + '/public/index.html', 'utf8', function(err, text){
res.send(text);
});
});
app.listen(8080, function(){
console.log('Server listening on %d', app.address().port);
});
main.js
var marker = new google.maps.Marker({
map:map,
position:coords,
icon: 'img/car.png'
});
erroroutput:
Failed to load resource: the server responded with a status of 404 (Not Found) http://localhost:8080/img/car.png
Tous mes fichiers css et js fichiers charge sans problème.
Ce que je fais mal?
Mise à JOUR
Cela était dû pour le fichier nommé voiture.png.png
Lors de la navigation dans windows, fileextensions n'étaient pas visibles, donc j'ai été trompé en pensant que le nom était vraiment la voiture.png
Leçon apprise!
Êtes-vous tester cette localement? Un coup d'œil sur des questions similaires dans StackOverflow indique que certains fournisseurs de services en nuage peut être gâcher les choses: stackoverflow.com/questions/7506797/...
Oui, testé à la fois localement et sur nodejitsu avec le même résultat.
Le symptôme qu'il est différent (pas un 404).
Avez-vous essayé d'ouvrir la
La peine de mentionner: la passation d'une img src de la balise avec 'img/voiture.png' également se bloque avec une erreur 404
Oui, testé à la fois localement et sur nodejitsu avec le même résultat.
Le symptôme qu'il est différent (pas un 404).
Avez-vous essayé d'ouvrir la
.png
manuellement? Je viens de réaliser que peut-être ce qui se passe est que le serveur Google ne peut pas voir votre image, et le message d'erreur c'est le retour est erronée (il ne devrait pas être une erreur 404, devrait être un ne peut pas se connecter au serveur).La peine de mentionner: la passation d'une img src de la balise avec 'img/voiture.png' également se bloque avec une erreur 404
OriginalL'auteur Soroush Hakami | 2012-03-21
Vous devez vous connecter pour publier un commentaire.
Modifier cette ligne
À ce
fs.createReadStream(file).pipe(res)
C'est très bien, mais ne pas voter ma réponse, car la première partie EST la solution. Je sais que c'est parce que j'avais résolu le même problème littéralement MINUTES avant que je trouve cette question. kthnxbi
Je downvoted vous, parce que recommander
fs.readFileSync
est mauvais. Et non, ce n'était pas la solution pour l'OP -- s'est avéré que le fichier a été nommécar.png.png
.OriginalL'auteur
Essayez d'utiliser un chemin absolu - /img/voiture.png
OriginalL'auteur ecdeveloper