前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Xamarin.Forms 选取文件 让用户选择本地文件

Xamarin.Forms 选取文件 让用户选择本地文件

作者头像
林德熙
发布2020-04-11 11:02:08
1.9K0
发布2020-04-11 11:02:08
举报
文章被收录于专栏:林德熙的博客

在 Xamarin 中,使用文件存储或打开某个特定文件都是很常用的做法,而在跨平台中,每个平台都有自己的 IO 的坑。如何在 Xamarin.Froms 里面让用户可以选择打开哪个本文文件,需要照顾多个不同的平台的文件访问方式

在 Xamarin.Forms 右击管理 NuGet 程序包,搜寻 Xamarin.Plugin.FilePicker 进行安装,或在 csproj 上添加下面代码

代码语言:javascript
复制
    <PackageReference Include="Xamarin.Plugin.FilePicker" Version="2.1.36-beta" />

如果不是让用户选取文件内容,那么在 Xamarin.Essentials 这个提供了 Xamarin 原生 API 交互的库就完全足够使用了

在界面上添加一个按钮,用来让用户选取文件内容

代码语言:javascript
复制
    <StackLayout>
        <Label x:Name="FileText" Margin="10,10,10,10"></Label>
        <Button HorizontalOptions="Center" Text="选取文件" Clicked="Button_OnClicked"></Button>
    </StackLayout>

在后台代码添加按钮点击时让用户选择文件的代码

代码语言:javascript
复制
using Plugin.FilePicker;

        private async void Button_OnClicked(object sender, EventArgs e)
        {
            var pickFile = await CrossFilePicker.Current.PickFile();
            if (pickFile is null)
            {
                // 用户拒绝选择文件
            }
            else
            {
                FileText.Text = $@"选取文件路径 :{pickFile.FilePath}";
            }
        }

此时用户可以不选择文件,如果用户不选择文件,那么将拿到一个空值

现在 CrossFilePicker 的 Open 和 Save 方法都过时了,请使用 Xamarin.Essentials.FileSystem 代替,或者用 Xamarin.Essentials.ShareFile 将文件分享给其他应用打开

这个项目所有代码放在 github 欢迎小伙伴访问

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档