Cordova FileTransfer 显示下载的图像
Cordova FileTransfer show downloaded image
我正在使用以下代码将图像下载到本地存储:
function saveImageToPhone(url, file) {
var plat = device.platform;
var deferred = $q.defer();
var url = url;
if(plat == "iOS"){
var filePath = cordova.file.dataDirectory + "files/img/" +file;
}else{
var filePath = cordova.file.applicationStorageDirectory + "files/img/" +file;
}
var fileTransfer = new FileTransfer();
var uri = encodeURI(url);
fileTransfer.download(
uri,
filePath,
function(entry) {
console.log(entry);
deferred.resolve();
},
function(error) {
console.log("error");
deferred.resolve();
},
true
);
return deferred.promise;
}
我正在显示图像:
<img src="file:///var/mobile/Containers/Data/Application/0C911347-00D1-4133-9186-D9653E64B572/Library/NoCloud/files/img/{{myimagename}}.jpg">
以上代码在 android(与其他 src-path)中工作正常。图像被下载、保存并显示在 frontedn 中。
使用 iOS 下载时调用成功函数,xCode 调试器向我显示肯定响应:
{"isFile":true,"isDirectory":false,"name":"3866938200000.1.jpg","fullPath":"/files/img/3866938200000.1.jpg","filesystem":"<FileSystem: library-nosync>","nativeURL":"file:///var/mobile/Containers/Data/Application/2A84F1F2-56D7-419A-B915-905C32FE851C/Library/NoCloud/files/img/3866938200000.1.jpg"}
但是前端没有显示图片。是否有一个选项可以检查 iOS(没有越狱设备)的文件系统以检查文件是否确实存在?或者我错过了什么?我的图片源路径是否正确?
提前致谢
我看到您正在使用 cordova 文件插件
您应该将路径保存在 $scope 中,以便您可以将其附加到您的 html
在你的控制器中:
$scope.path = cordova.file.dataDirectory
在你的 html
<img src="{{path}}Library/NoCloud/files/img/{{myimagename}}.jpg">
我正在使用以下代码将图像下载到本地存储:
function saveImageToPhone(url, file) {
var plat = device.platform;
var deferred = $q.defer();
var url = url;
if(plat == "iOS"){
var filePath = cordova.file.dataDirectory + "files/img/" +file;
}else{
var filePath = cordova.file.applicationStorageDirectory + "files/img/" +file;
}
var fileTransfer = new FileTransfer();
var uri = encodeURI(url);
fileTransfer.download(
uri,
filePath,
function(entry) {
console.log(entry);
deferred.resolve();
},
function(error) {
console.log("error");
deferred.resolve();
},
true
);
return deferred.promise;
}
我正在显示图像:
<img src="file:///var/mobile/Containers/Data/Application/0C911347-00D1-4133-9186-D9653E64B572/Library/NoCloud/files/img/{{myimagename}}.jpg">
以上代码在 android(与其他 src-path)中工作正常。图像被下载、保存并显示在 frontedn 中。
使用 iOS 下载时调用成功函数,xCode 调试器向我显示肯定响应:
{"isFile":true,"isDirectory":false,"name":"3866938200000.1.jpg","fullPath":"/files/img/3866938200000.1.jpg","filesystem":"<FileSystem: library-nosync>","nativeURL":"file:///var/mobile/Containers/Data/Application/2A84F1F2-56D7-419A-B915-905C32FE851C/Library/NoCloud/files/img/3866938200000.1.jpg"}
但是前端没有显示图片。是否有一个选项可以检查 iOS(没有越狱设备)的文件系统以检查文件是否确实存在?或者我错过了什么?我的图片源路径是否正确?
提前致谢
我看到您正在使用 cordova 文件插件
您应该将路径保存在 $scope 中,以便您可以将其附加到您的 html
在你的控制器中:
$scope.path = cordova.file.dataDirectory
在你的 html
<img src="{{path}}Library/NoCloud/files/img/{{myimagename}}.jpg">