Metro Style App开发快速入门 之文件选择总结

简介:

1、选择单个文件,FileTypeFilter.Add是添加能访问的文件类型。

private  async void  filePickerBtn_Click( object  sender, RoutedEventArgs e)
{
     FileOpenPicker fileOpenPicker = new  FileOpenPicker();
     fileOpenPicker.FileTypeFilter.Add( ".jpg" );
     fileOpenPicker.FileTypeFilter.Add( ".jpeg" );
     fileOpenPicker.FileTypeFilter.Add( ".png" );
 
     fileOpenPicker.SuggestedStartLocation = PickerLocationId.PicturesLibrary;
     StorageFile file = await fileOpenPicker.PickSingleFileAsync();
     if  (file != null )
     {
         displayTextBlock.Text = file.Name;
     }
}

 2、选择多个文件,并且是任意文件类型

private  async void  filePickerBtn_Click( object  sender, RoutedEventArgs e)
{
     FileOpenPicker fileOpenPicker = new  FileOpenPicker();
     fileOpenPicker.FileTypeFilter.Add( "*" );
     fileOpenPicker.SuggestedStartLocation = PickerLocationId.PicturesLibrary;
     IReadOnlyList<StorageFile> files = await fileOpenPicker.PickMultipleFilesAsync();
     if  (files.Count > 0)
     {
         foreach  (StorageFile file in  files)
         {
             displayTextBlock.Text += file.Name + "\n" ;
         }
     }
}

 

 3、 选择文件夹

private  async void  folderPickerBtn_Click( object  sender, RoutedEventArgs e)
{
     if  (EnsureUnsnapped())
     {
         FolderPicker folderPicker = new  FolderPicker();
         folderPicker.SuggestedStartLocation = PickerLocationId.Desktop;
         folderPicker.FileTypeFilter.Add( "*" );
         StorageFolder storageFolder = await folderPicker.PickSingleFolderAsync();
         if  ( null  != storageFolder)
         {
             displayTextBlock.Text = storageFolder.Name;
         }
     }
}

 FilePicker APIs是不能在snapped状态下使用

bool  EnsureUnsnapped()
{
     //FilePicker APIs不能再snapped状态下使用。
     return  ((ApplicationView.Value != ApplicationViewState.Snapped) || ApplicationView.TryUnsnap());
}

 

4、保存文件

private  async void  SaveFileBtn_Click( object  sender, RoutedEventArgs e)
{
     if  (EnsureUnsnapped())
     {
         FileSavePicker savePicker = new  FileSavePicker();
         savePicker.SuggestedStartLocation = PickerLocationId.Desktop;
         savePicker.FileTypeChoices.Add( "Text" , new  List< string >() { ".txt"  });
         savePicker.FileTypeChoices.Add( "Word Docment" , new  List< string >() { ".docx" , ".doc"  });
         savePicker.DefaultFileExtension = ".txt" ;
         savePicker.SuggestedFileName = "New Document" ;
         StorageFile storageFile = await savePicker.PickSaveFileAsync();
         if  ( null  != storageFile)
         {
             displayTextBlock.Text = storageFile.Name;
         }
     }
}

 选择保存的文件保存自己要求的文件。自定义文件类型和文件名。


本文转自Work Hard Work Smart博客园博客,原文链接:http://www.cnblogs.com/linlf03/archive/2012/03/27/2400416.html,如需转载请自行联系原作者

目录
相关文章
|
22天前
|
JSON 小程序 JavaScript
uni-app开发微信小程序的报错[渲染层错误]排查及解决
uni-app开发微信小程序的报错[渲染层错误]排查及解决
328 7
|
21天前
|
小程序 JavaScript 前端开发
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
407 1
|
7天前
|
小程序 数据挖掘 UED
开发1个上门家政小程序APP系统,都有哪些功能?
在快节奏的现代生活中,家政服务已成为许多家庭的必需品。针对传统家政服务存在的问题,如服务质量不稳定、价格不透明等,我们历时两年开发了一套全新的上门家政系统。该系统通过完善信用体系、提供奖励机制、优化复购体验、多渠道推广和多样化盈利模式,解决了私单、复购、推广和盈利四大痛点,全面提升了服务质量和用户体验,旨在成为家政行业的领导者。
|
22天前
|
JavaScript 前端开发 UED
Vue与uni-app开发中通过@font-face巧妙引入自定义字体
Vue与uni-app开发中通过@font-face巧妙引入自定义字体
47 9
|
25天前
|
缓存 小程序 索引
uni-app开发微信小程序时vant组件van-tabs的使用陷阱及解决方案
uni-app开发微信小程序时vant组件van-tabs的使用陷阱及解决方案
133 1
|
5天前
|
机器人
布谷直播App系统源码开发之后台管理功能详解
直播系统开发搭建管理后台功能详解!
|
26天前
|
小程序 JavaScript API
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
这篇文章介绍了如何在uni-app和微信小程序中实现将图片保存到用户手机相册的功能。
422 0
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
|
14天前
|
NoSQL PHP Redis
布谷语音app源码服务器环境配置及技术开发语言
布谷语音app源码服务器环境配置及技术语言研发。。
|
21天前
|
JavaScript 小程序 开发者
uni-app开发实战:利用Vue混入(mixin)实现微信小程序全局分享功能,一键发送给朋友、分享到朋友圈、复制链接
uni-app开发实战:利用Vue混入(mixin)实现微信小程序全局分享功能,一键发送给朋友、分享到朋友圈、复制链接
232 0
|
25天前
|
小程序
uni-app开发微信小程序使用onPullDownRefresh(下拉刷新)总结
uni-app开发微信小程序使用onPullDownRefresh(下拉刷新)总结
351 0