2013-02-20 29 views
16

मैं अपने डेटाबेस में बाइट सरणी के रूप में एक छवि खोज रहा हूं। मैं इस सामग्री को मार्कअप छवि का उपयोग कर फ़ाइल के रूप में दिखाना चाहता हूं, लेकिन यह यहां काम नहीं करता है।कोणीयजेएस - छवि के रूप में बाइट सरणी सामग्री दिखाएं

// Controller which get my image and put into $scope. 
function MyController($scope, $http, $location) { 

    var url = '/json/FindImage?id=1'; 
    $http.get(url).success(function(result) { 
     $scope.image = result.Image; 
    } 
} 

// HTML 
<!-- It doesn't work --> 
<img src="{{image}}" /> 
<!-- It doesn't work also --> 
<img ng-src="{{image}}" /> 

कोई विचार? आप सभी को धन्यवाद!

उत्तर

57

उपयोग एनजी-src

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

कोणीय

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

+0

प्राप्त डेटा के आधार पर एक सफ़ाई फिल्टर के लिए dataunsafe के रूप में चिह्नित नहीं किया जा में जोड़ने के लिए मत भूलना: छवि /PNG;base64,etc.net::ERR_INVALID_URL मेरे लिए – amdev

+0

@Assem, यहां तक ​​कि नेट :: ERR_INVALID_URL भी मिल रहा है। मुद्दा क्या हो सकता है। – Hema

+0

@amdev, क्या आपने इसे हल किया है? – Hema

-1

srcimg की छवि छवि की स्रोत फ़ाइल को इंगित करता है, इसमें वास्तविक स्रोत डेटा नहीं है। आप ऐसा नहीं कर सकते जो आप इस तरह चाहते हैं; इसके बजाय, आपको जावास्क्रिप्ट में एक छवि डिकोडर लिखना होगा (उदा।,), जो canvas तत्व में आउटपुट करता है।

2

यदि आप अपने सर्वर को बेस 64 एन्कोडेड स्ट्रिंग में छवि वापस करने के लिए प्राप्त कर सकते हैं, तो आप data url को src विशेषता के रूप में उपयोग कर सकते हैं। निम्न स्वरूप में