繁体   English   中英

从资产访问本地文件 Xamarin Forms

[英]Accessing Local Files from Assets Xamarin Forms

我正在尝试将 local.pdf 复制到一个临时位置,以便能够使用 PDFSharp 查看它。

在此处输入图像描述

主要活动:

            AssetManager assetManager = this.Assets;
          
            string filename = "test.pdf";
            string path = this.FilesDir + Java.IO.File.Separator;
            // returns /data/user/0/com.companyname.sample/files/

            try
            {
                File.Copy(Path.Combine(path, filename),
                    Path.Combine(systemHelper.GetTemporaryDirectory(), filename), true);



                // Open the file (systemHelper.GetTemporaryDirectory() returns = /storage/emulated/0/Android/data/com.companyname.app/files)
                PdfDocument inputDocument = PdfReader.Open(Path.Combine(systemHelper.GetTemporaryDirectory(), filename), PdfDocumentOpenMode.Import);
               
            }
            catch (Exception e)
            {
            }

错误:“找不到文件”/data/user/0/com.companyname.sample/files/test.pdf“”

我想使用FileStream访问 pdf 文件

var stream = new FileStream(path, FileMode.Open, FileAccess.Read);

在 Xamarin Android 中,如果要读取 Asscts 子文件夹中的 PDF ,可以使用AssetManager

   AssetManager assets = this.Assets;
        // Read the contents of our asset
        string content;
        using (StreamReader sr = new StreamReader(assets.Open("Template/test.pdf")))
        {
            content = sr.ReadToEnd();
        }

在此处输入图像描述

如果你想阅读 Xamarin.Forms,你可以使用依赖服务。

https://docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/dependency-service/introduction

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM