Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/195.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Ionic 3文件权限_Android_Cordova_Ionic Framework_Ionic2_Ionic3 - Fatal编程技术网

Android Ionic 3文件权限

Android Ionic 3文件权限,android,cordova,ionic-framework,ionic2,ionic3,Android,Cordova,Ionic Framework,Ionic2,Ionic3,好了,开始吧。我在处理一个爱奥尼亚项目。在这个特定场景中,我们将测试应用程序的Android版本。我可以从文件系统中很好地获取图像,它们以字符串url的形式返回,如下所示 content://com.android.providers.media.documents/document/image%3A5744 然后,应该将文件blob并将其向上传递的处理器如下所示: return this.file.readAsArrayBuffer(urlData.url, urlData.fileName

好了,开始吧。我在处理一个爱奥尼亚项目。在这个特定场景中,我们将测试应用程序的Android版本。我可以从文件系统中很好地获取图像,它们以字符串url的形式返回,如下所示

content://com.android.providers.media.documents/document/image%3A5744
然后,应该将文件blob并将其向上传递的处理器如下所示:

return this.file.readAsArrayBuffer(urlData.url, urlData.fileName)
  .then((item) => {
      return new Blob([new Uint8Array(item)]);
  })
  .catch((err) => {
    console.log(err.message)
  }).then((res)=>{
    return new Blob([res])
  })
但是我得到了错误安全性,它并没有真正提到

这适用于我用相机拍摄的照片,这些照片都有如下URL

file:///storage/emulated/0/Android/data/<appname>/cache/1502211622334.jpg
file:///storage/emulated/0/Android/data//cache/1502211622334.jpg

问题是,据我所知,没有任何文档说明是什么导致了这个错误。我不知道要修改什么才能使我的代码正常工作。我已经使用checkFile方法验证了URI是否有效

因此,您不能将内容url与file.readAsArrayBuffer一起使用,而必须首先将url解析为readAsArrayBuffer可以理解的内容。为此,我使用了

一旦它被安装并包含在我需要它的页面中,我就使用

filePath.resolveNativePath(url)
方法,因为它返回一个承诺,所以我将readAsArrayBuffer链接到它前面的then语句上。我确实需要使用if语句为内容URL(需要resolveNativePath)和已经工作的非内容URL提供分支路径


据我所知,这个解决方案是有效的

谢谢分享你的发现!它在一定程度上对我起了作用,因为现在我遇到了以下错误:
权限拒绝:读取com.android.providers.media.MediaDocumentsProviderURIcontent://com.android.providers.media.documents/document 从pid=14113,uid=10260要求您使用ACTION\u OPEN\u DOCUMENT或相关api获得访问权限
您需要在我想说的清单中为该api启用权限吗?我已经有两年没有接触过这个东西了,但我记得有一个顶级文件需要编辑。谢谢你的回复!如果有人需要,我会尝试一下,应该是正确的轨道