在此之前,我已经用没有头的URL调用了图像。看起来是这样的:
javascript
$scope.image = "http://my.address";html
<img ng-src="{{image}}">然后,我尝试获取带有标题的图像:
headers: {
'x-access-token': 'token'
}因此,我的javascript如下所示:
javascript
$http({
method: 'GET',
timeout: 25000,
url: "http://my.address",
headers: {
'x-access-token': 'token'
}
})
.success(function (data) {
$scope.image = data;
})
.error(function (error) {
//Error handling
});然后,结果是我的html没有显示实际的图像。它只显示白色空白图像。
发布于 2017-07-24 01:58:37
我不知道棱角,但是$http不是一个简单的XHR包装器吗?
如果是这样的话,data应该是图像的原始数据,HTMLImage的src属性无法理解这些数据。该属性只接受URI。
您可能可以通过XHR的responseType选项来规避这一问题,如果我们信任医生们,XHR也出现在$http中。
然后就像
$http({
method: 'GET',
timeout: 25000,
url: "http://my.address",
headers: {
'x-access-token': 'token'
},
responseType: 'blob' // request a Blob instead of raw data
})
.success(function (blob) {
$scope.image = URL.createObjectURL(blob); // create a temp URI for this Blob
})
.error(function (error) {
//Error handling
});应该能起作用。
发布于 2017-07-21 17:40:47
发布于 2017-07-21 11:54:49
ng-src希望得到一个url,但是你给它一个原始的图像,所以它不知道该如何处理它。您需要在映像的开头添加data:[<mime type>][;charset][;base64],<Data>,以便ng-src知道如何处理它。
示例: data:image/png,kjbaskljbasd4dd64ad464d6a...kajbkjbd8ad76
$scope.image = "data:image/png," + data;https://stackoverflow.com/questions/45236800
复制相似问题