.net - 适用于 Android 的 xamarin 表单中的文件选择器问题
问题描述
我正在使用xamarin.plugin.FilePicker从 Android 的 xamarin 表单中的用户那里获取文件。但它不能正常工作。
当我在物理 Android 设备上进行测试并尝试获取任何文件(如 PDF、doc)时,它会使我的应用程序崩溃,或者有时它会将我重定向到我的应用程序主页。当我点击上传文件时,调试器停止,所以我无法在物理设备中调试问题。我在项目中添加了从存储读取、写入文件的必要权限。我不需要 iOS 应用程序,所以我不对其进行测试。
选择文件的代码:
FileData fileData = await CrossFilePicker.Current.PickFile();
if (fileData == null)
return; // user canceled file picking
string fileName = fileData.FileName;
FileInfo fi = new FileInfo(fileName);
var ext = fi.Extension;
string contents = System.Text.Encoding.UTF8.GetString(fileData.DataArray);
var docBase64Path = Convert.ToBase64String(fileData.DataArray);
int documentTypeId = 0;
希望有更好的解决方案。
解决方案
该包不再维护(repo 已存档),它已移至Microsoft 官方维护的 Xamarin.Essential 包中的FilePicker 。
看看那个repo github页面有一个迁移指南
推荐阅读
- loopbackjs - NodeJS 有时在运行时错误后存在,但有时不存在
- android - 在 deactivate() 中调用 notifyListeners() 会导致错误 - Flutter
- python - 我想验证趋势从社交到搜索到销售的假设
- string - Scala在字符串中搜索某个Char
- kubernetes - 如何使用 Terraform 公开具有公共 IP 地址的 Azure Kubernetes 集群
- python - 设置 R 公式环境和转换上下文管理器
- javascript - 如何使 querySelector 仅在特定包含的文档中查找?
- ubuntu-18.04 - 尽管有这些错误,我如何安装 elm-repl?
- facebook-graph-api - 在 Instagram Graph API 中为业务发现洞察提供指标
- git - 通过跳过项目创建 gitlab 备份