Xamarin:System.UnauthorizedAccessException:'拒绝访问路径“/kms.pdf”,'

myzjeezk  于 2023-06-20  发布在  其他
关注(0)|答案(1)|浏览(90)

我如何从sqlite数据库下载一个pdf文件到手机,我用这个代码

var Iteml = e.CurrentSelection[0] as SamplesData;
            byte[] wpdf = (byte[])Iteml.PDF;
            string name = "kms.pdf";
         
            FileStream fs = new FileStream(name, FileMode.OpenOrCreate, FileAccess.Write);
            fs.Write(wpdf, 0, wpdf.Length);
            fs.Close();
            File.OpenRead(name);

但我看到这条信息
Xamarin:System.UnauthorizedAccessException:'拒绝访问路径“/kms.pdf”。'
我想检索PDF文件从数据库保存在手机上的字节

qzwqbdag

qzwqbdag1#

首先,你可以把文件放在应用程序自己的文件夹中。例如:

string name =Path.Combine(Android.App.Application.Context.GetExternalFilesDir("").AbsolutePath,"kms.pdf");

它的值是/storage/emulated/0/Android/data/your app packaged name/files/kms.pdf
如果你想把它放在公共文件夹中,如Document folde,你需要获得android 12及更低版本的外部存储权限。在Android 13上,该权限已被删除。
您可以参考官方文档有关颗粒媒体权限在Android 13.

相关问题