1# 保存用户文件 2 3在从网络下载文件到本地、或将已有用户文件另存为新的文件路径等场景下,需要使用FilePicker提供的保存用户文件的能力。 4 5对音频、图片、视频、文档类文件的保存操作类似,均通过调用对应picker的save()接口并传入对应的saveOptions来实现。 6 7 8## 保存图片或视频类文件 9 101. 导入选择器模块。 11 12 ```ts 13 import picker from '@ohos.file.picker'; 14 ``` 15 162. 创建图库保存选项实例。 17 18 ```ts 19 const photoSaveOptions = new picker.PhotoSaveOptions(); // 创建文件管理器保存选项实例 20 photoSaveOptions.newFileNames = ["PhotoViewPicker01.jpg"]; // 保存文件名(可选) 21 ``` 22 233. 创建图库选择器实例,调用[save()](../reference/apis/js-apis-file-picker.md#save)接口拉起FilePicker界面进行文件保存。 24 用户选择目标文件夹,用户选择与文件类型相对应的文件夹,即可完成文件保存操作。保存成功后,返回保存文档的URI。 25 26 ```ts 27 const photoViewPicker = new picker.PhotoViewPicker(); 28 photoViewPicker.save(photoSaveOptions) 29 .then(async (photoSaveResult) => { 30 let uri = photoSaveResult[0]; 31 // 获取到到图片或者视频文件的URI后进行文件读取等操作 32 }) 33 .catch((err) => { 34 console.error(`Invoke documentPicker.select failed, code is ${err.code}, message is ${err.message}`); 35 }) 36 ``` 37 38## 保存文档类文件 39 401. 导入选择器模块。 41 42 ```ts 43 import picker from '@ohos.file.picker'; 44 ``` 45 462. 创建文档保存选项实例。 47 48 ```ts 49 const documentSaveOptions = new picker.DocumentSaveOptions(); // 创建文件管理器选项实例 50 documentSaveOptions.newFileNames = ["DocumentViewPicker01.txt"]; // 保存文件名(可选) 51 ``` 52 533. 创建文档选择器实例。调用[save()](../reference/apis/js-apis-file-picker.md#save-3)接口拉起FilePicker界面进行文件保存。 54 用户选择目标文件夹,用户选择与文件类型相对应的文件夹,即可完成文件保存操作。保存成功后,返回保存文档的URI。 55 56 > **说明:** 57 > 58 > 目前DocumentSelectOptions不支持参数配置,默认可以选择所有类型的用户文件。 59 60 ```ts 61 const documentViewPicker = new picker.DocumentViewPicker(); // 创建文件选择器实例 62 documentViewPicker.save(documentSaveOptions) 63 .then(async (documentSaveResult) => { 64 let uri = documentSaveResult[0]; 65 // 例如,可以根据获取的URI进行文件写入等操作 66 }) 67 .catch((err) => { 68 console.error(`Invoke documentPicker.save failed, code is ${err.code}, message is ${err.message}`); 69 }) 70 ``` 71 72## 保存音频类文件 73 741. 导入选择器模块。 75 76 ```ts 77 import picker from '@ohos.file.picker'; 78 ``` 79 802. 创建音频保存选项实例。 81 82 ```ts 83 const audioSaveOptions = new picker.AudioSaveOptions(); // 创建文件管理器选项实例 84 audioSaveOptions.newFileNames = ['AudioViewPicker01.mp3']; // 保存文件名(可选) 85 ``` 86 873. 创建音频选择器实例。调用[save()](../reference/apis/js-apis-file-picker.md#save-6)接口拉起FilePicker界面进行文件保存。 88 用户选择目标文件夹,用户选择与文件类型相对应的文件夹,即可完成文件保存操作。保存成功后,返回保存文档的URI。 89 > **说明:** 90 > 91 > 目前AudioSelectOptions不支持参数配置,默认可以选择所有类型的用户文件。 92 93 ```ts 94 const audioViewPicker = new picker.AudioViewPicker(); 95 audioViewPicker.save(audioSaveOptions) 96 .then((audioSelectResult) => { 97 let uri = audioSelectResult[0]; 98 // 获取到到音频文件的URI后进行文件读取等操作 99 }) 100 .catch((err) => { 101 console.error(`Invoke audioPicker.select failed, code is ${err.code}, message is ${err.message}`); 102 }) 103 ``` 104