2016-04-10 18 views
0

Arka ucunda sakladığım bir görüntüyü almak için http.get isteği yapmak üzere açısal kullanıyorum. Sorun bir kez olsun, nasıl görüntüleneceğini bilmiyorum. İşte benim kod:Açısal: görüntü alındığında görüntülenmez

Düğüm:

getImage = function(req, res){ 
    res.setHeader('Content-Type', req.query.mimetype) 
    fs.createReadStream(path.join('./uploads/', req.query.filename)).pipe(res) 
} 

Eğik

$http.get("/getImage/", {params: {"filename" : $scope.recipe.image.filename, "mimetype" : $scope.recipe.image.mimetype}}) 
.then(function(returnData){ 
    $scope.image = returnData.data; 
}) 

HTML: Ben geri geliyor ne görüntülemeye çalışması için console.log kullandım

<img ng-src="{{image}}"> 

ve bu aldığım şey:

enter image description here

Sanırım bu görüntüdür, ancak yine de nasıl düzgün görüntüleneceğini bilmiyorum. Herhangi bir ipucu?

cevap

0

Ne yapmaya çalıştığınıza bakın. Kullanmakta olduğunuz gerçek görüntüyü kullanmak yerine filename-url görüntüyü almalısınız <img ng-src="{{image}}"> etiketi

+0

Ama doğru görüntüyü almak için parametreleri nasıl geri gönderirim? Çünkü URL sadece '/ getImage /'. Ve görüntünün yolunu kullanmaya çalışırsam, bana sadece 404 hatası verir. – user5854440

+0

Görüntünün gerçek yolunu bilmiyorsanız, belki Daniel Beck tarafından yapılan yorum sizin için olası bir çözümdür. – starcorn

0

Amacınız için async image upload kullanmalısınız. Yani deffered kullanabilirsiniz nesneler: Asynchronously load images with jQuery

<img ng-src="data:image/JPEG;base64,{{image}}"> 

açısal tarafından güvensiz olarak işaretlenebilir değil Verilerin sanitization Filtre ekle kullanın Sen veritabanından bayt dizisi alıyorsanız

0

cevap "phpcoding" bakmak lütfen

$compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|file|ftp|blob):|data:image\//); 
İlgili konular