相关问题
#鸿蒙通关秘籍#如何在鸿蒙系统中实现用户文件的选择与保存?
1432浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何通过FilePicker设置文件永久授权?
862浏览 • 1回复 待解决
#鸿蒙通关秘籍# 如何在HarmonyOS NEXT中使用TextInput组件接收用户输入?
1175浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙开发中使用Promise进行文件写入操作?
932浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在不配置权限的情况下选择和保存用户文件?
754浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在编辑状态中提示用户保存内容?
1038浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在HarmonyOS Next中使用Buffer高效拷贝大文件?
1104浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在HarmonyOS中使用Web组件预览本地PDF文件?
894浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在HarmonyOS中使用Rawfile接口进行文件操作?
1017浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在HarmonyOS NEXT中使用Worker子线程解压文件?
1168浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在HarmonyOS中使用Web组件预览网络PDF文件?
668浏览 • 1回复 待解决
#鸿蒙通关秘籍# 如何在HarmonyOS中使用HttpRequest实现文件上传功能?
935浏览 • 0回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙长时任务中使用WantAgent?
852浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙中使用TaskPool处理同步任务?
1028浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙中使用流的形式进行文件的读写操作?
705浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙系统中使用Node-API执行指定的abc文件?
672浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙中使用Canvas创建模拟时钟?
1106浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙开发中使用GridRowSizeOption的尺寸属性?
829浏览 • 2回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙应用中使用hilog进行日志输出?
1178浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙开发中使用CSS选择器?
1052浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙中使用动态import高效加载模块?
1069浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在Image组件中使用复制选项?
829浏览 • 1回复 待解决
#鸿蒙通关秘籍# 如何在HarmonyOS NEXT中使用Button组件?
1038浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙开发中使用gesture方法绑定手势?
980浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙开发中使用RelativeContainer实现相对布局?
1257浏览 • 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,需要定义全局变量保存。