Nicht in der Lage zu dienen, image (png) node.js und express

Ich untersucht habe ähnliche Fragen auf, SO dass aber noch keine Lösung gefunden zu meinem problem... ich habe eine express-route dienen Bilder aber ich kann es nicht erhalten, um wieder ein Bild, von wo es gespeichert ist. Beachten Sie habe ich eine Anweisung zu erlauben, Anfragen jeglicher Herkunft. Was passiert, ist, dass wenn ich einen Antrag auf http://localhost:8080/images/x10.png die Antwort, die ich bekommen ist eine leere image-element mit src="http://localhost:8080/images/x10.png anstelle von http://ubuntubox.dev/images/x10.png, das ist, wo das Bild ist tatsächlich in der Lage und ist der Weg, den ich bin schließlich die übergabe an die Anfrage-Methode. Was bin ich? Danke.

app.get('/images/*', function(req, res, path){
  var imagePath = req.url,
      url = 'http://ubuntubox.dev' + imagePath;

  request(url, function(error, response, img) {
    if(!error && response.statusCode === 200) {
      res.header('Access-Control-Allow-Origin', '*');
      res.writeHead(200, {'Content-Type': 'image/png' });
      res.end(img, 'binary');
    } else if(response.statusCode === 404) {
      res.status(404);
      res.type('txt').send('oops');
    }
  });
}).listen(8080, '127.0.0.1');
  • Ich vermute, es ist ein problem mit request(). Ist, dass http.request() (wenn es ist, es muss behoben werden) oder ist eine benutzerdefinierte Funktion, die Sie definiert haben anderswo?
InformationsquelleAutor deluxe_247 | 2014-01-31
Schreibe einen Kommentar