首页 > 解决方案 > 使用文件选择器获取“输入字符串的格式不正确”

问题描述

我正在尝试使用以下代码选择文件

                            FileData fileData = new FileData();

                            fileData = await CrossFilePicker.Current.PickFile();

                            if (fileData != null)

并得到以下异常

  at System.Number.ThrowOverflowOrFormatException (System.Boolean overflow, System.String overfl

owResourceKey) [0x00000] in /Users/builder/jenkins/workspace/archive-mono/2020-02/android/release/external/corert/src/System.Private.CoreLib/shared/System/Number.Parsing.cs:1781 
  at System.Number.ParseInt64 (System.ReadOnlySpan`1[T] value, System.Globalization.NumberStyles styles, System.Globalization.NumberFormatInfo info) [0x00016] in /Users/builder/jenkins/workspace/archive-mono/2020-02/android/release/external/corert/src/System.Private.CoreLib/shared/System/Number.Parsing.cs:246 
  at System.Int64.Parse (System.String s) [0x0000a] in /Users/builder/jenkins/workspace/archive-mono/2020-02/android/release/external/corefx/src/Common/src/CoreLib/System/Int64.cs:106 
  at Plugin.FilePicker.IOUtil.GetPath (Android.Content.Context context, Android.Net.Uri uri) [0x000ab] in D:\a\1\s\src\Plugin.FilePicker\Android\IOUtil.android.cs:64 
  at Plugin.FilePicker.FilePickerActivity.OnActivityResult (System.Int32 requestCode, Android.App.Result resultCode, Android.Content.Intent data) [0x00039] in D:\a\1\s\src\Plugin.FilePicker\Android\FilePickerActivity.android.cs:151 
--- End of stack trace from previous location where exception was thrown ---

以及异常消息“输入字符串的格式不正确”。

我尝试了很长时间,但找不到解决方案。

安卓版本 - 10

标签: xamarin.formsfilepicker

解决方案


我正在使用 Xamarin.Essentials 的最新稳定版本,但 FilePickerAsync() 无法访问。

在 Xamarin.Essentials 的最新版本中,获取:

using Xamarin.Essentials;

public async void getFile()
{
    var result = await FilePicker.PickAsync();

    //...
}

ReadExternalStorage需要许可:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

参考:Xamarin.Essentials:文件选择器


推荐阅读