当前位置: 首页 > 知识库问答 >
问题:

xamarin Forms Android中拒绝访问的PDF文件下载问题

宇文金鑫
2023-03-14

我有这些权限在Android清单文件

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 

也在运行时请求权限。

这是我的pdf下载html" target="_blank">代码

var documentsPath = (string)Android.OS.Environment.GetExternalStoragePublicDirectory("SHAZ");
string localPath = Path.Combine(documentsPath, filename);
File.WriteAllBytes(localPath, bytes);

这是我从Android应用程序得到的。

**{System.UnauthorizedAccessException:对路径“/storage/emulated/0/SHAZ/ABC.pdf”的访问被拒绝。at System.IO.FileStream..ctor(System.String path、System.IO.FileMode模式、System.IO.FileAccess访问、System.IO.FileShare共享、System.Int32 bufferSize、System.Boolean匿名、System.IO.FileOptions选项)[0x001aa]在/Users/builder/jenkins/workspace/archive mono/2020-02/android/release/mcs/class/corlib/System中。IO/FileStream。cs:239 at系统。伊奥。文件流。。ctor(System.String路径、System.IO.FileMode模式、System.IO.FileAccess访问、System.IO.FileShare共享)[0x00000]位于/Users/builder/jenkins/workspace/archive mono/2020-02/android/release/mcs/class/corlib/System。IO/FileStream。cs:91 at(带检查的包装器远程调用)系统。伊奥。文件流。。系统中的ctor(字符串、System.IO.FileMode、System.IO.FileAccess、System.IO.FileShare)。伊奥。文件/Users/builder/jenkins/workspace/archive mono/2020-02/android/release/external/corefx/src/System中的internalwritealbytes(System.String路径,System.Byte[]bytes)[0x00000]。伊奥。FileSystem/src/System/IO/File。cs:429 at系统。伊奥。文件在/Users/builder/jenkins/workspace/archive mono/2020-02/android/release/external/corefx/src/System中写入字节(System.String路径,System.Byte[]字节)[0x00039]。伊奥。FileSystem/src/System/IO/File。cs:420在SHAZ_HR_工资处。机器人。模型。保存文件。保存文件(保存文件中的System.String文件名,System.Byte[]字节)[0x00034]。政务司司长:25人在SHAZ_HR_工资。页。受雇者员工更改密码。BtnDownload_在\XYZ中单击(System.Object sender,System.EventArgs e)[0x000d7]。xaml。cs:84}**

IDE: VS-2019 Android版本: 10 Xamarin Form版本:5.0.0.1874

共有1个答案

令狐嘉禧
2023-03-14

如果以API 29为目标,即使您请求权限并获得用户授权,也会出现错误,因为他们更改了存储的工作方式。

但是,如果你像我一样,厌倦了Android让事情每天变得更加复杂,只需将Android:requestLegacyExternalStorage=“true”添加到你的清单

 类似资料:
  • 问题内容: 我在FoxPro 6.0命令窗口中使用SQL命令,并遇到“文件访问被拒绝”。 我的SQL命令是: 情况: Windows 7专业版 FoxPro 6.0 main.dbf被共享给许多用户。 main.dbf不是 隐藏的 ,也不是 只写 任何意见将不胜感激! 问题答案: 此DBF文件位于共享驱动器上吗?如果是这样,则另一个用户可能使文件打开了“排他”,或者您正试图打开文件“排他”。默认状

  • 我有一个自动配置的AWS,Spring Boot应用程序,我正在尝试设置一个endpoint,该endpoint将简单地从Amazon S3中的给定存储桶下载特定文件。我使用AWS控制台将JPEG文件上传到存储桶中——现在我正在尝试使用Spring Boot API下载该文件。 我收到以下错误:<code>com.amazonaws.services.s3.model。AmazonS3Except

  • 当我创建新用户或授予现有特权,我得到了这个错误: 授予所有表上的权限ok(信息\u架构除外),在此表上我得到了拒绝访问错误。我怎么能修理?转储所有数据库,删除所有数据库,然后从转储还原?

  • 为什么当我试图创建InputStream时,下面的代码会给我一个File Not Found异常?我的inputdirectory定义为一个文件,其值为“D:\general\images\small_images”(不带引号),我的用户对该文件具有完全的写权限。我正在使用Windows7,并以管理员的身份运行eclipse IDE。 如有任何帮助,不胜感激。

  • 我找到了商店定位器的谷歌教程:https://developers.google.com/maps/articles/phpsqlsearch_v3#findnearsql MySQL表完成了,它在我的服务器上工作。我可以在phpmyadmin中正确地写入地址和执行操作 但是在“用PHP输出XML”的教程中,我不能继续了。 我已经创建了文件phpsqlsearch_dbinfo.php,把我的数据

  • 问题内容: 有些脚本只能通过ajax使用,并且我不希望用户直接从浏览器运行这些脚本。我使用jQuery进行所有ajax调用,并将所有ajax文件保存在名为ajax的文件夹中。 因此,我希望创建一个htaccess文件来检查ajax请求(HTTP_X_REQUESTED_WITH)并拒绝该文件夹中的所有其他请求。(我知道可以伪造http标头,但我想不出更好的解决方案)。我尝试了这个: ReWrite