如何在Xamarin中获取资产文件路径?

时间:2016-09-04 09:34:47

标签: android file xamarin xamarin.android assets

我在Assets文件夹中有data.xlsx个文件,需要获取应用某个库的路径。

在这里找到了几个解决方案,但对我来说都不适用。例如 - File Not Found Exception In Xamarin program

我尝试使用file:///android_asset/data.xlsx,但这里也没有文件。

我检查路径:System.IO.File.Exists(filePath);

那么如何获取此文件的路径?也许我必须将它放在不同的文件夹中?

更新:可能我可以这样解决:java.io.FileNotFoundException: This file can not be opened as a file descriptor; it is probably compressed

但我找不到放在哪里。

更新:这个问题与Java有关,目前还不清楚如何在Xamarin.Android中使用此解决方案:How to get the android Path string to a file on Assets folder?

3 个答案:

答案 0 :(得分:2)

看起来该文件未包含在APK中。确保Asset-folder中文件的 Build Action 设置为 AndroidAsset

答案 1 :(得分:1)

一般使用Xamarin.android,你可以使用这段代码:

private string _fileName {get;set;}

      public string FileFullPath
      {
         get
          {
            return Path.Combine(Android.OS.Environment.GetExternalStoragePublicDirectory(Android.OS.Environment.DirectoryPictures),_fileName);
          }
      }

希望它有所帮助.. :)

答案 2 :(得分:0)

看起来不可能。

最近的解决方案是将文件写入缓存。