• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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