diff --git a/zh-cn/application-dev/file-management/select-user-file.md b/zh-cn/application-dev/file-management/select-user-file.md index c1a9983bd0619492545269be343dd24ff7b6bb91..bcd5e82e10b3258b9573c3bc6938ba385ee0b5cf 100644 --- a/zh-cn/application-dev/file-management/select-user-file.md +++ b/zh-cn/application-dev/file-management/select-user-file.md @@ -41,7 +41,7 @@ photoPicker.select(photoSelectOptions) .then(async (photoSelectResult) => { let uri = photoSelectResult.photoUris[0]; - // 获取到到图片或者视频文件的URI后进行文件读取等操作 + // 获取到图片或者视频文件的URI后进行文件读取等操作 }) .catch((err) => { console.error(`Invoke documentPicker.select failed, code is ${err.code}, message is ${err.message}`); @@ -63,7 +63,11 @@ ``` 3. 创建文档选择器实例。调用[select()](../reference/apis/js-apis-file-picker.md#select-3)接口拉起FilePicker界面进行文件选择。 + 文件选择成功后,返回被选中文档的URI结果集。开发者可以根据结果集中URI做进一步的处理。 + + 例如通过[文件管理接口](../reference/apis/js-apis-file-fs.md)根据URI获取部分文件属性信息,比如文件大小、访问时间、修改时间等。如有获取文件名称需求,请暂时使用[startAbilityForResult](../../application-dev/application-models/uiability-intra-device-interaction.md)获取。 + > **说明:** > > 目前DocumentSelectOptions不支持参数配置,默认可以选择所有类型的用户文件。 @@ -73,13 +77,39 @@ documentViewPicker.select(documentSelectOptions) .then((documentSelectResult) => { let uri = documentSelectResult[0]; - // 获取到到文档文件的URI后进行文件读取等操作 + // 获取到文档文件的URI后进行文件读取等操作 }) .catch((err) => { console.error(`Invoke documentPicker.select failed, code is ${err.code}, message is ${err.message}`); }) ``` + > **说明:** + > + > 目前DocumentSelectOptions功能不完整, 如需获取文件名称,请使用startAbilityForResult接口。 + + ```ts + let config = { + action: 'ohos.want.action.OPEN_FILE', + parameters: { + startMode: 'choose', + } + } + try { + let result = await context.startAbilityForResult(config, {windowMode: 1}); + if (result.resultCode !== 0) { + console.error(`DocumentPicker.select failed, code is ${result.resultCode}, message is ${result.want.parameters.message}`); + return; + } + // 获取到文档文件的URI + let select_item_list = result.want.parameters.select_item_list; + // 获取到文档文件的文件名称 + let file_name_list = result.want.parameters.file_name_list; + } catch (err) { + console.error(`Invoke documentPicker.select failed, code is ${err.code}, message is ${err.message}`); + } + ``` + ## 选择音频类文件 1. 导入选择器模块。 @@ -109,7 +139,7 @@ audioViewPicker.select(audioSelectOptions) .then(audioSelectResult => { let uri = audioSelectOptions[0]; - // 获取到到音频文件的URI后进行文件读取等操作 + // 获取到音频文件的URI后进行文件读取等操作 }) .catch((err) => { console.error(`Invoke audioPicker.select failed, code is ${err.code}, message is ${err.message}`); diff --git a/zh-cn/application-dev/reference/apis/js-apis-fileAccess.md b/zh-cn/application-dev/reference/apis/js-apis-fileAccess.md index 7b1c68e35a569c2abf385020f5315e1bdbb215b3..8cf33f143e218341ca149a566805281c47601b34 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-fileAccess.md +++ b/zh-cn/application-dev/reference/apis/js-apis-fileAccess.md @@ -256,7 +256,7 @@ callback带回迭代器对象RootIterator,然后通过[next](#rootiteratornext listFile(filter?: Filter) : FileIterator -以同步方法从某设备根节点开始,基于过滤器,获取第一级符合条件的文件(夹)信息的迭代器对象FileIterator,然后通过[next](#fileiteratornext)方法返回[FileInfo](#fileinfo)。 +以同步方法从某设备根节点开始,基于过滤器,获取第一级符合条件的文件(夹)信息的迭代器对象FileIterator,然后通过[next](#fileiteratornext)方法返回[FileInfo](#fileinfo)。目前仅支持内置存储设备过滤,外置存储设备不支持过滤。 **系统能力**:SystemCapability.FileManagement.UserFileService @@ -307,7 +307,7 @@ listFile(filter?: Filter) : FileIterator scanFile(filter?: Filter) : FileIterator -以同步方法从某设备根节点开始,基于过滤器,递归获取符合条件的文件信息的迭代器对象FileIterator,然后通过[next](#fileiteratornext)方法返回[FileInfo](#fileinfo)。 +以同步方法从某设备根节点开始,基于过滤器,递归获取符合条件的文件信息的迭代器对象FileIterator,然后通过[next](#fileiteratornext)方法返回[FileInfo](#fileinfo)。目前仅支持内置存储设备。 **系统能力**:SystemCapability.FileManagement.UserFileService @@ -357,7 +357,7 @@ scanFile(filter?: Filter) : FileIterator listFile(filter?: Filter) : FileIterator -以同步方法从某个目录,基于过滤器,获取下一级符合条件的文件(夹)信息的迭代器对象FileIterator,然后通过[next](#fileiteratornext)方法返回[FileInfo](#fileinfo)。 +以同步方法从某个目录,基于过滤器,获取下一级符合条件的文件(夹)信息的迭代器对象FileIterator,然后通过[next](#fileiteratornext)方法返回[FileInfo](#fileinfo)。目前仅支持内置存储设备过滤,外置存储设备不支持过滤。 **系统能力**:SystemCapability.FileManagement.UserFileService @@ -407,7 +407,7 @@ listFile(filter?: Filter) : FileIterator scanFile(filter?: Filter) : FileIterator; -以同步方法从某个目录,基于过滤器,递归获取符合条件的文件信息的迭代器对象FileIterator,然后通过[next](#fileiteratornext)方法返回[FileInfo](#fileinfo)。 +以同步方法从某个目录,基于过滤器,递归获取符合条件的文件信息的迭代器对象FileIterator,然后通过[next](#fileiteratornext)方法返回[FileInfo](#fileinfo)。目前仅支持内置存储设备。 **系统能力**:SystemCapability.FileManagement.UserFileService @@ -782,7 +782,7 @@ delete(uri: string, callback: AsyncCallback<number>) : void; move(sourceFile: string, destFile: string) : Promise<string> -以异步方法移动文件(夹),返回移动后文件(夹)的uri。使用Promise异步回调。 +以异步方法移动文件(夹),返回移动后文件(夹)的uri。使用Promise异步回调。目前仅支持设备内移动,跨设备不支持移动。 **系统能力**:SystemCapability.FileManagement.UserFileService。 @@ -822,7 +822,7 @@ move(sourceFile: string, destFile: string) : Promise<string> move(sourceFile: string, destFile: string, callback: AsyncCallback<string>) : void; -以异步方法移动文件(夹),返回移动后文件(夹)的uri。使用callback异步回调。 +以异步方法移动文件(夹),返回移动后文件(夹)的uri。使用callback异步回调。目前仅支持设备内移动,跨设备不支持移动。 **系统能力**:SystemCapability.FileManagement.UserFileService。