大佬教程收集整理的这篇文章主要介绍了Cordova iOS应用程序目录和文件URL不同(UUID问题),大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
file:///var/mobile/Containers/data/Application/FC87E925-9753-4D9F-AE27-54FCF9B0451E/Documents/-media-3405-company.png
但是,在检查cordova.file.applicationDirectory变量时,我找到了另一条路径,例如(请注意,即使我在同一次运行中检查两个变量,UUID也不同)
file:///var/containers/Bundle/Application/D8266D08-18A4-4293-B78A-B4597FC0C6B8/SALEsApp.app/
因此,对于documentation,正确的路径“应该”:(但是,这也不起作用)
file:///var/mobile/Applications/UUID/Documents/-media-3405-company.png
const downloadFile = (url,filename,callBACk) => { window.requestFileSystem(LocalFileSystem.PERSISTENT,(fs) => { fs.root.getFile(filename,{ create: true,exclusive: false },(fileEntry) => { const fileURL = fileEntry.toURL() const fileTransfer = new FileTransfer() fileTransfer.download( url,fileURL,(entry) => { const file = entry.toURL() // <--- HERE content.pushObject('Downloaded ' + entry + ' (' + filename + ') ' + filE) callBACk(filE) },(error) => { content.pushObject('error ' + error.code + '(' + filename + ')') if (error.code === FileTransferError.CONNECTION_ERR) { downloadFile(url,fileName) // Try again } else { decrement(url) // Ignore this file } } ) },(error) => { alert(2) }) },() => { alert(3) }) }
更新:检查cordova.file.documentsDirectory的值,我发现它返回类似于以下的路径:file:/// var / mobile / Containers / Data / Application / {UUID} / Documents /.
更新:以下代码将返回两个不同的UUID:
alert(cordova.file.applicationDirectory); // file:///var/containers/Bundle/Application/54E0F914-C45B-4B8F-9067-C13AF1967760/SALEsApp.app/ alert(cordova.file.documentsDirectory); // file:///var/mobile/Containers/Data/Application/73806E90-90B4-488C-A68A-2715C3627489/Documents/
在检查entry.toURL()的路径时,我获得与cordova.file.documentsDirectory中返回的UUID相同的UUID.
由于你没有提供用于加载图像的代码,我尝试了两件事,而且两者都有效
>在InAppBrowser上打开文件.我安装了cordova-plugin-inappbrowser并打开了这个window.open文件(文件,’_ blank’);
>在img标签上显示文件.我在index.html中创建了一个img标签< img id =“已下载”src =“”/>在我的回调中,我将获得的文件分配给src document.getElementById(“已下载”).src = file;
他们俩都工作了.
因此,您应该提供用于加载图像的代码,因为问题可能存在.
您下载的路径是可以的.
您获得了不同的UUID,因为文档已过时.在Xcode 6 / iOS8之前,应用程序沙箱具有Bundle容器和同一文件夹中的Data容器(文档提到的具有公共UUID的文件夹),但是从Xcode 6 / iOS8开始,app文件(Bundle容器)位于路径中App数据文件位于另一个(数据容器)中.
但这对你来说应该不是问题.
以上是大佬教程为你收集整理的Cordova iOS应用程序目录和文件URL不同(UUID问题)全部内容,希望文章能够帮你解决Cordova iOS应用程序目录和文件URL不同(UUID问题)所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。