【问题标题】:Getting "Input string was not in a correct format" with File picker使用文件选择器获取“输入字符串的格式不正确”
【发布时间】:2020-12-19 13:40:02
【问题描述】:

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

                            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 ---

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

我尝试了这么久,但找不到解决方案。

Android 版本 - 10

【问题讨论】:

  • 请不要将代码或错误作为图片发布
  • 我正在使用 Xamarin.Essentials 的最新稳定版本,但 FilePickerAsync() 无法访问。
  • 我的解决方案对您有用吗?如果是,请您接受(点击此答案左上角的☑️),以便我们可以帮助更多有相同问题的人:)。
  • 完成@JackHua-MSFT,谢谢

标签: xamarin.forms filepicker


【解决方案1】:

我正在使用 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: File Picker

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-23
    • 2013-08-22
    相关资源
    最近更新 更多