gpt4 book ai didi

javascript - 无法使用 angularjs ng-src 访问我的设备本地存储中的图像文件

转载 作者:行者123 更新时间:2023-11-27 23:51:07 24 4
gpt4 key购买 nike

我正在使用 AngularJS 和 Cordova,并使用 Visual Studios 2013 来模拟 cordova 应用程序。

我在 ms-appdata:///local/ 目录中有一堆图像文件,我尝试使用 ng-src="{{ img}}" 其中 $scope.img = "ms-appdata:///local/image.jpg"

HTML

 <img ng-src="{{img}}" alt="" />

JavaScript

 $scope.img= "ms-appdata:///local/image.jpg";

当我运行这段代码时,我什至没有在顶部看到丢失的图像图标,几乎就像根本没有图像一样。

当我将 ng-src="{{img}}" 更改为 src="ms-appdata:///local/image.jpg" 时,图像显示没有问题。

我已经尝试过 $sce.trustAsResourceUrl("ms-appdata:///local/image.jpg").$$unwrapTrustedValue() 作为另一个 Stack Overflow 答案的建议。

最佳答案

$sce.trustAsResourceUrl 可以帮助直接在 src 属性上插入 url,但是当 ng-src 指令将插入值分配给 >src 属性,它已经是一个字符串,不是可信对象。如果此 URL 可信,则该信息会在 ng-src 中丢失。

$sce.trustAsResourceUrl("...").$$unwrapTrustedValue() 在此上下文中没有意义,因为它会给您相同的“...”不受信任的字符串在输出上。

我相信在这种情况下可以做的最好的事情就是向 the white list 添加一个新协议(protocol).

app.config(function ($compileProvider) {
var whitelist = $compileProvider.imgSrcSanitizationWhitelist();
whitelist = new RegExp(whitelist.source.replace(/(ftp)/, '$1|ms-appdata'));
$compileProvider.imgSrcSanitizationWhitelist(whitelist);
});

关于javascript - 无法使用 angularjs ng-src 访问我的设备本地存储中的图像文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32699900/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com