【问题标题】:Show an image stored by ngCordova in an html img tag (Angular)在 html img 标签中显示由 ngCordova 存储的图像(Angular)
【发布时间】:2015-07-31 09:04:55
【问题描述】:

我目前在一个项目中使用 ngCordova,我需要在本地存储从网络服务获取的图像

$http.get('webservice/image/' + item.imageId).then(function(response) {
  $cordovaFile.writeFile(
    cordova.dataDirectory,
    item.imageId,
    response.data,
    true).then(function() {
    item.imagePath = cordova.dataDirectory + item.imageId;
    item.update();
  });
});

它将图像存储在:(我可以在 Xcode 中看到它们,因此它们被保存)

file:///var/mobile/Application/<appID>/Library/NoCloud/<imageId>.png

然后我尝试在视图中显示它们:

<img ng-src="{{item.imagePath}}"/>

而且它没有显示任何图像,我尝试了其他 imagePath 组合:

item.imagePath = ./Library/NoCloud/<imageId>.png
item.imagePath = Library/NoCloud/<imageId>.png
item.imagePath = ./<imageId>.png
item.imagePath = <imageId>.png
item.imagePath = ../../Library/NoCloud/<imageId>.png

【问题讨论】:

  • 你试过去掉大括号吗?您还确定项目对象绑定到$scope
  • 是和是的:DI 没有显示所有代码,如果我删除大括号,项目将不会被评估,ng-src 会接受它有一个字符串

标签: html angularjs file cordova ngcordova


【解决方案1】:

我让它这样工作:

$cordovaFileTransfer.download(
  encodeURI('webservice/image/' + item.imageId),
  cordova.file.dataDirectory + item.ImageId, {},
  true).then(function(response) {
    item.Image = response.toInternalURL();
    item.update();
}));

【讨论】:

    猜你喜欢
    • 2016-11-22
    • 2014-09-29
    • 2020-11-11
    • 2013-03-27
    • 2021-11-30
    • 2019-11-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多