gpt4 book ai didi

android - Cordova FileOpener Android - 找不到本地文件位置

转载 作者:太空狗 更新时间:2023-10-29 14:10:57 26 4
gpt4 key购买 nike

使用 Cordova FileOpener2 ,以及许多其他插件,例如 Cordova File、Cordova FileTransfer.. 我在 Android 中找不到我的本地 PDF 位置。

此文件位于 www/offline-files/ 目录中,当我在 iOS 中打开它时(使用 window.open(encodeURI('offline-files/myFile.pdf') , '_blank');) 它工作正常!如果我在 Android 中尝试同样的事情,它是行不通的。例如,我的许多尝试之一:

function getPath()
{
// Get local path for Cordova
var path = window.location.pathname;
path = path.substr(path, path.length - 10);
return 'file://' + path;
}

cordova.plugins.fileOpener2.open(
getPath() + 'offline-files/myFile.pdf',
'application/pdf',
{
error: function (e)
{
console.log('Error status: ' + e.status + ' - Error message: ' + e.message);
},
success: function ()
{
console.log('file opened successfully');
}
}
);

Cordova 返回日志:“错误状态:9 - 错误消息:找不到文件”

还有一个奇怪的错误:Cordova 文件插件向我返回一个找不到经典目录的错误文件:

window.resolveLocalFileSystemURL(cordova.file.applicationDirectory, 
function (dir)
{
/** SOME CODE **/
}
);

最佳答案

您使用的是哪个版本的 Cordova?在任何情况下,我都不会硬编码文件路径,而是从 LocalFileSystem 对象获取它。

var fs;

function fsSuccess(fileSystem)
{
fs = fileSystem;
}

function fsFail(event)
{
console.log(event.target.error.code);
}

window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem;
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, fsSuccess, fsFail);

然后通过以下方式访问根路径:

fs.root.toURL() + "yourfilename"

希望这对您有所帮助!

关于android - Cordova FileOpener Android - 找不到本地文件位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28414344/

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