【问题标题】:File Picker window not open in xamarin forms?文件选择器窗口未在 xamarin 表单中打开?
【发布时间】:2018-05-18 20:48:41
【问题描述】:

on Button click file picker window not open in xamarin forms- 我正在使用 Xam.Plugin.FilePicker 这是我的按钮事件代码-

async void FilePickerEvent(object sender, EventArgs e)
        {
            try
            {
                FileData filedata = new FileData();
                filedata = await CrossFilePicker.Current.PickFile();
                byte[] data = filedata.DataArray;
                string name = filedata.FileName;
                foreach(byte b in filedata.DataArray)
                {
                    string attachment = b.ToString();
                }
            }
            catch (Exception ex)
            {
                string msg = ex.Message;
            }
        }

【问题讨论】:

  • 可能抛出异常?您是否尝试调试您的代码? 'windows not open' 行为不清楚,请详细说明。
  • 我调试了我的代码,但是文件名显示空值,点击按钮后它没有打开文件选择器窗口。如何解决这个问题?
  • 取决于您可能需要添加权限的操作系统。关注github.com/Studyxnet/FilePicker-Plugin-for-Xamarin-and-Windows上的重要部分
  • 添加这一行后它解决了我的问题 => var crossFileData = CrossFilePicker.Current;
  • 您可以编辑您的问题并添加解决方案,因此该线程将对社区的其他人有用。

标签: xamarin xamarin.forms


【解决方案1】:

我在安卓设备上试过这个插件,效果很好。我在所有项目中都安装了该插件,然后将这些权限添加到 AndroidManifest.xml 文件中,就像在文档中一样。

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

然后在我的 MainPage.xaml 中创建了一个按钮

<Button Text="Open File" Clicked="Button_Clicked" />

并且在我的 MainPage.xaml.cs 中创建了事件

private async void Button_Clicked(object sender, EventArgs e)
{
    var file = await CrossFilePicker.Current.PickFile();
}

我选择了文件并毫无问题地检索了属性 FileName 和 DataArray。

xamarin forum 上有一个帖子,或者他们的 github 上有一个issue list。

【讨论】:

    【解决方案2】:

    有一个较新的分叉 github 项目得到了相当多的修复,例如用于从下载文件夹、OneDrive 或 Google Drive 存储中挑选的 Android。项目在这里: https://github.com/jfversluis/FilePicker-Plugin-for-Xamarin-and-Windows (注意:我是贡献者之一)。

    只需将 NuGet 包名称更改为 Xamarin.Plugin.FilePicker,API 相同。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多