gpt4 book ai didi

angularjs - Cordova 文件写入抛出 EACCES(权限被拒绝)错误

转载 作者:行者123 更新时间:2023-12-02 10:20:56 24 4
gpt4 key购买 nike

我在 Ionic 移动应用程序上使用 cordova-plugin-filecordova-plugin-file-transfer 将一些文件下载到可以使用 native 应用程序打开的 Android 设备例如 pdf、word、excel 等。该插件在 Marshmallow 操作系统更新之前运行良好。

现在抛出“异常”:“/storage/emulated/0/logo_radni.png:打开失败:EACCES(权限被拒绝)”}

在 config.xml 文件中,我还添加了以下权限。

<platform name="android">
<preference name="AndroidPersistentFileLocation" value="Compatibility" />
<preference name="AndroidExtraFilesystems" value="files,files-external,documents,sdcard,cache,cache-external,assets,root" />
</platform>

这适用于以前的 Android 操作系统版本。这是我的代码示例

 angular.module('starter.controllers', ['ionic', 'ngCordova'])
.controller('DashCtrl', function ($scope, $ionicPlatform, $cordovaFileTransfer) {

$scope.downloadFile = function () {
$ionicPlatform.ready(function () {

// File for download
var url = "http://www.gajotres.net/wp-content/uploads/2015/04/logo_radni.png";

// File name only
var filename = url.split("/").pop();

// Save location
var targetPath = cordova.file.externalRootDirectory + filename;

$cordovaFileTransfer.download(url, targetPath, {}, true).then(function (result) {
console.log('Success');
}, function (error) {
console.log(JSON.stringify(error));
}, function (progress) {
// PROGRESS HANDLING GOES HERE
});
});

};
})

注意:

我需要将文件下载到 cordova.file.externalRootDirectory 中才能访问其他应用程序,例如 pdf 阅读器、word、excel 等

插件引用:

https://github.com/apache/cordova-plugin-file

https://github.com/apache/cordova-plugin-file-transfer

http://ngcordova.com/docs/plugins/fileTransfer/

有人有办法解决这个问题吗?

最佳答案

经过调查,我找到了问题的根本原因。由于操作系统升级到 Marshmallow,因此引发此权限问题错误。他们改变了许可授予程序。 API 级别 23 之后,应用程序在安装时将无法获得权限。用户在使用该应用程序时必须授予许可。所以我必须显式安装一个插件来在使用设备资源时授予权限。

我就此写了一篇简短的博客文章,与社区分享。也感谢@Beat :)

任何人都可以引用http://anishantha87.blogspot.com/2016/10/read-and-write-permission-for-storage.html用于快速 sample 应用。

您可以找到操作系统升级权限的 Android API 引用 here .

希望这对其他人有帮助。

干杯!

关于angularjs - Cordova 文件写入抛出 EACCES(权限被拒绝)错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40078929/

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