【发布时间】:2016-11-17 13:09:29
【问题描述】:
在加载我的 HTML 页面时,我有一个用 AngularJS 编写的 onload 函数,它将从服务器获取图像文件的 base64 字符串,并将这个 base64 字符串存储在 $scope.product.image 中。当我尝试显示这个 base64 string ,我在控制台中收到 ERR_INVALID_URL 错误。
错误信息如下所示:GET : data:image/jpg;base64,9j_4AAQSK.......... net: ERR_INVALID_URL
我的 HTML 看起来像这样
<section ng-show="product.image">
{{product.image}} /* This actually displays the content of base64 string. This confirms that value is reaching properly*/
<img ng-src="{{'data:image/jpg;base64,'+product.image}}"/>
</section>
我的 app.js 看起来像这样
$scope.onload = function()
{
$http({method:'GET', url:'rest/product/onLoad'})
.success(function (response){
$scope.product.image = response.image;
});
};
我尝试了<img data-ng-src="data:image/jpg;base64,{{product.image}}">,但没有成功。
如何将base64字符串加载为图片?
【问题讨论】:
-
看不到您的代码有任何问题。您是否尝试过复制
ng-src值并将其放在浏览器地址栏中以检查数据URL 是否有效? -
当我尝试加载 ng-src 值(即 data-ng-src="data:image/jpg;base64,base64 字符串值)时,它说这个无法访问站点。我的 base64 字符串有什么问题吗。我编写了一个 Web 服务,它将图像从本地机器(即 c:\images)转换为 base64 并将其作为对 angularJS 的响应发送。在 angularJS ,我已将响应值分配给 $scope.product.image。当我尝试使用 ng-src 加载此值时,出现此错误。我错过了什么吗??
标签: javascript html angularjs base64