相关问题
#鸿蒙通关秘籍#如何在鸿蒙系统中实现用户文件的选择与保存?
2016浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何通过FilePicker设置文件永久授权?
1086浏览 • 1回复 待解决
#鸿蒙通关秘籍# 如何在HarmonyOS NEXT中使用TextInput组件接收用户输入?
1719浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙开发中使用Promise进行文件写入操作?
1265浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在不配置权限的情况下选择和保存用户文件?
979浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在编辑状态中提示用户保存内容?
1297浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在HarmonyOS中使用Web组件预览网络PDF文件?
904浏览 • 1回复 待解决
#鸿蒙通关秘籍# 如何在HarmonyOS中使用HttpRequest实现文件上传功能?
1153浏览 • 0回复 待解决
#鸿蒙通关秘籍#如何在HarmonyOS Next中使用Buffer高效拷贝大文件?
1424浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在HarmonyOS中使用Rawfile接口进行文件操作?
1339浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在HarmonyOS NEXT中使用Worker子线程解压文件?
1498浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在HarmonyOS中使用Web组件预览本地PDF文件?
1277浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙长时任务中使用WantAgent?
1117浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙中使用TaskPool处理同步任务?
1352浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙中使用流的形式进行文件的读写操作?
1053浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙系统中使用Node-API执行指定的abc文件?
970浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙开发中使用GridContainer进行灵活布局?
1215浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙应用中使用openLink接口进行跳转?
1430浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙开发中使用RelativeContainer实现相对布局?
1708浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙中使用Swiper组件实现页面切换?
1457浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙开发中使用gesture方法绑定手势?
1269浏览 • 1回复 待解决
#鸿蒙通关秘籍# 如何在HarmonyOS NEXT中使用Text组件?
1388浏览 • 1回复 待解决
#鸿蒙通关秘籍# 如何在HarmonyOS NEXT中使用本地存储?
1511浏览 • 1回复 待解决
#鸿蒙通关秘籍# 如何在HarmonyOS NEXT中使用Image组件?
1507浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙中使用动态import高效加载模块?
1400浏览 • 1回复 待解决
在鸿蒙系统上保存用户文件时,使用
FilePicker
来实现。首先需要导入选择器模块和基础文件API模块:javascript import { picker } from '@kit.CoreFileKit'; import { fileIo as fs } from '@kit.CoreFileKit'; import { BusinessError } from '@kit.BasicServicesKit'; import { common } from '@kit.AbilityKit';
然后创建文件保存选项实例,使用
DocumentViewPicker
实例的save()
方法拉起FilePicker界面进行文件保存:javascript const documentSaveOptions = new picker.DocumentSaveOptions(); documentSaveOptions.newFileNames = ["DocumentViewPicker01.txt"]; documentSaveOptions.fileSuffixChoices = ['.png', '.txt', '.mp4'];
let uris = []; let context = getContext(this) as common.Context; const documentViewPicker = new picker.DocumentViewPicker(context);
documentViewPicker.save(documentSaveOptions).then((documentSaveResult: Array<string>) => { uris = documentSaveResult; console.info('documentViewPicker.save to file succeed and uris are:' + uris); }).catch((err: BusinessError) => { console.error(
Invoke documentViewPicker.save failed, code is ${err.code}, message is ${err.message}
); });注意:不能在picker的回调中直接使用URI,需要定义全局变量保存。