我有一个将返回图像的服务器端应用程序。这些是响应标头:
Content-Disposition: attachment; filename=8822a009-944e-43f4-999b-d297198d302a;1.0_low-res
Content-Length: 502343
Content-Type: image/png
Date: Mon, 03 Aug 2015 19:13:39 GMT
Server: Apache-Coyote/1.1
在角度中,我需要显示图像。获取图像时,我使用 angularJS$http
调用服务器并将结果放入范围内,但我从未达到成功功能$http
。从邮递员执行此调用会正常返回图像。我很好奇如何让 Angular 显示图像。
这就是我显示图像的方式:
<img ng-src={{image}} />
这是从服务器获取图像的调用:
$http.get(url, {responseType: "arraybuffer"})
.success(function(data) {
$scope.image= data;
}
)
我同意贝鲁的回应,你应该使用.then
函数,而不是.success
函数返回的承诺$http.get
。但是,我想您仍然会有问题ng-src
引用,因为您没有为其提供 URL,而是提供对字节数组的引用。
来绑定你的ng-src
引用客户端内存中保存的字节数组,您的绑定应采用以下形式:
<img ng-src="data:image/JPEG;base64,{{image}}">
Edit
由于我从未明确提及过,ng-src
上面的绑定假设您的图像数据是 base64 格式。 HarrisonA 提供了以下方法来转换数组(如果数组尚未采用 Base64 格式)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)