提交 3935ba56 编写于 作者: H huweiqi

filePicker add Perform subsequent operations on the uri

Signed-off-by: Nhuweiqi <huweiqi1@huawei.com>
Change-Id: I7e6b01a96880d316a66e9f9306b0f6cd9a65c36b
上级 f8b60a1b
...@@ -24,17 +24,30 @@ ...@@ -24,17 +24,30 @@
用户选择目标文件夹,用户选择与文件类型相对应的文件夹,即可完成文件保存操作。保存成功后,返回保存文档的URI。 用户选择目标文件夹,用户选择与文件类型相对应的文件夹,即可完成文件保存操作。保存成功后,返回保存文档的URI。
```ts ```ts
let uri;
const photoViewPicker = new picker.PhotoViewPicker(); const photoViewPicker = new picker.PhotoViewPicker();
photoViewPicker.save(photoSaveOptions) photoViewPicker.save(photoSaveOptions).then((photoSaveResult) => {
.then(async (photoSaveResult) => { uri = photoSaveResult[0];
let uri = photoSaveResult[0]; }).catch((err) => {
// 获取到到图片或者视频文件的URI后进行文件读取等操作
})
.catch((err) => {
console.error(`Invoke documentPicker.select failed, code is ${err.code}, message is ${err.message}`); console.error(`Invoke documentPicker.select failed, code is ${err.code}, message is ${err.message}`);
}) })
``` ```
4. 待界面从FilePicker返回后再使用文件管理的接口[fs.openSync](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-file-fs.md#fsopensync)根据目的文件的uri打开这个文件得到fd。
```ts
let file = fs.openSync(uri, fs.OpenMode.READ_WRITE);
console.info('file fd: ' + file.fd);
```
5. 通过fd使用[fs.writeSync](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-file-fs.md#writesync)接口对这个文件进行编辑修改,编辑修改完成后关闭fd。
```ts
let writeLen = fs.writeSync(file.fd, 'hello, world');
console.info('write data to file succeed and size is:' + writeLen);
fs.closeSync(file);
```
## 保存文档类文件 ## 保存文档类文件
1. 导入选择器模块。 1. 导入选择器模块。
...@@ -58,17 +71,30 @@ ...@@ -58,17 +71,30 @@
> 目前DocumentSelectOptions不支持参数配置,默认可以选择所有类型的用户文件。 > 目前DocumentSelectOptions不支持参数配置,默认可以选择所有类型的用户文件。
```ts ```ts
let uri;
const documentViewPicker = new picker.DocumentViewPicker(); // 创建文件选择器实例 const documentViewPicker = new picker.DocumentViewPicker(); // 创建文件选择器实例
documentViewPicker.save(documentSaveOptions) documentViewPicker.save(documentSaveOptions).then((documentSaveResult) => {
.then(async (documentSaveResult) => { uri = documentSaveResult[0];
let uri = documentSaveResult[0]; }).catch((err) => {
// 例如,可以根据获取的URI进行文件写入等操作
})
.catch((err) => {
console.error(`Invoke documentPicker.save failed, code is ${err.code}, message is ${err.message}`); console.error(`Invoke documentPicker.save failed, code is ${err.code}, message is ${err.message}`);
}) })
``` ```
4. 待界面从FilePicker返回后再使用文件管理的接口[fs.openSync](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-file-fs.md#fsopensync)根据目的文件的uri打开这个文件得到fd。
```ts
let file = fs.openSync(uri, fs.OpenMode.READ_WRITE);
console.info('file fd: ' + file.fd);
```
5. 通过fd使用[fs.writeSync](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-file-fs.md#writesync)接口对这个文件进行编辑修改,编辑修改完成后关闭fd。
```ts
let writeLen = fs.writeSync(file.fd, 'hello, world');
console.info('write data to file succeed and size is:' + writeLen);
fs.closeSync(file);
```
## 保存音频类文件 ## 保存音频类文件
1. 导入选择器模块。 1. 导入选择器模块。
...@@ -91,13 +117,27 @@ ...@@ -91,13 +117,27 @@
> 目前AudioSelectOptions不支持参数配置,默认可以选择所有类型的用户文件。 > 目前AudioSelectOptions不支持参数配置,默认可以选择所有类型的用户文件。
```ts ```ts
let uri;
const audioViewPicker = new picker.AudioViewPicker(); const audioViewPicker = new picker.AudioViewPicker();
audioViewPicker.save(audioSaveOptions) audioViewPicker.save(audioSaveOptions).then((audioSelectResult) => {
.then((audioSelectResult) => { uri = audioSelectResult[0];
let uri = audioSelectResult[0]; }).catch((err) => {
// 获取到到音频文件的URI后进行文件读取等操作
})
.catch((err) => {
console.error(`Invoke audioPicker.select failed, code is ${err.code}, message is ${err.message}`); console.error(`Invoke audioPicker.select failed, code is ${err.code}, message is ${err.message}`);
}) })
``` ```
4. 待界面从FilePicker返回后再使用文件管理的接口[fs.openSync](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-file-fs.md#fsopensync)根据目的文件的uri打开这个文件得到fd。
```ts
let file = fs.openSync(uri, fs.OpenMode.READ_WRITE);
console.info('file fd: ' + file.fd);
```
5. 通过fd使用[fs.writeSync](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-file-fs.md#writesync)接口对这个文件进行编辑修改,编辑修改完成后关闭fd。
```ts
let writeLen = fs.writeSync(file.fd, 'hello, world');
console.info('write data to file succeed and size is:' + writeLen);
fs.closeSync(file);
```
\ No newline at end of file
...@@ -37,17 +37,30 @@ ...@@ -37,17 +37,30 @@
文件选择成功后,返回[PhotoSelectResult](../reference/apis/js-apis-file-picker.md#photoselectresult)结果集,可以根据结果集中URI进行文件读取等操作。 文件选择成功后,返回[PhotoSelectResult](../reference/apis/js-apis-file-picker.md#photoselectresult)结果集,可以根据结果集中URI进行文件读取等操作。
```ts ```ts
let uri;
const photoPicker = new picker.PhotoViewPicker(); const photoPicker = new picker.PhotoViewPicker();
photoPicker.select(photoSelectOptions) photoPicker.select(photoSelectOptions).then((photoSelectResult) => {
.then(async (photoSelectResult) => { uri = photoSelectResult.photoUris[0];
let uri = photoSelectResult.photoUris[0]; }).catch((err) => {
// 获取到图片或者视频文件的URI后进行文件读取等操作 console.error(`Invoke photoPicker.select failed, code is ${err.code}, message is ${err.message}`);
})
.catch((err) => {
console.error(`Invoke documentPicker.select failed, code is ${err.code}, message is ${err.message}`);
}) })
``` ```
5. 待界面从FilePicker返回后再使用文件管理的接口[fs.openSync](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-file-fs.md#fsopensync)根据目的文件的uri打开这个文件得到fd。
```ts
let file = fs.openSync(uri, fs.OpenMode.READ_WRITE);
console.info('file fd: ' + file.fd);
```
6. 通过fd使用[fs.writeSync](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-file-fs.md#writesync)接口对这个文件进行编辑修改,编辑修改完成后关闭fd。
```ts
let writeLen = fs.writeSync(file.fd, 'hello, world');
console.info('write data to file succeed and size is:' + writeLen);
fs.closeSync(file);
```
## 选择文档类文件 ## 选择文档类文件
1. 导入选择器模块。 1. 导入选择器模块。
...@@ -73,13 +86,11 @@ ...@@ -73,13 +86,11 @@
> 目前DocumentSelectOptions不支持参数配置,默认可以选择所有类型的用户文件。 > 目前DocumentSelectOptions不支持参数配置,默认可以选择所有类型的用户文件。
```ts ```ts
let uri;
const documentViewPicker = new picker.DocumentViewPicker(); // 创建文件选择器实例 const documentViewPicker = new picker.DocumentViewPicker(); // 创建文件选择器实例
documentViewPicker.select(documentSelectOptions) documentViewPicker.select(documentSelectOptions).then((documentSelectResult) => {
.then((documentSelectResult) => { uri = documentSelectResult[0];
let uri = documentSelectResult[0]; }).catch((err) => {
// 获取到文档文件的URI后进行文件读取等操作
})
.catch((err) => {
console.error(`Invoke documentPicker.select failed, code is ${err.code}, message is ${err.message}`); console.error(`Invoke documentPicker.select failed, code is ${err.code}, message is ${err.message}`);
}) })
``` ```
...@@ -110,6 +121,22 @@ ...@@ -110,6 +121,22 @@
} }
``` ```
4. 待界面从FilePicker返回后再使用文件管理的接口[fs.openSync](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-file-fs.md#fsopensync)根据目的文件的uri打开这个文件得到fd。
```ts
let file = fs.openSync(uri, fs.OpenMode.READ_WRITE);
console.info('file fd: ' + file.fd);
```
5. 通过fd使用[fs.writeSync](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-file-fs.md#writesync)接口对这个文件进行编辑修改,编辑修改完成后关闭fd。
```ts
let writeLen = fs.writeSync(file.fd, 'hello, world');
console.info('write data to file succeed and size is:' + writeLen);
fs.closeSync(file);
```
## 选择音频类文件 ## 选择音频类文件
1. 导入选择器模块。 1. 导入选择器模块。
...@@ -135,13 +162,26 @@ ...@@ -135,13 +162,26 @@
> 目前AudioSelectOptions不支持参数配置,默认可以选择所有类型的用户文件。 > 目前AudioSelectOptions不支持参数配置,默认可以选择所有类型的用户文件。
```ts ```ts
let uri;
const audioViewPicker = new picker.AudioViewPicker(); const audioViewPicker = new picker.AudioViewPicker();
audioViewPicker.select(audioSelectOptions) audioViewPicker.select(audioSelectOptions).then(audioSelectResult => {
.then(audioSelectResult => { uri = audioSelectOptions[0];
let uri = audioSelectOptions[0]; }).catch((err) => {
// 获取到音频文件的URI后进行文件读取等操作
})
.catch((err) => {
console.error(`Invoke audioPicker.select failed, code is ${err.code}, message is ${err.message}`); console.error(`Invoke audioPicker.select failed, code is ${err.code}, message is ${err.message}`);
}) })
``` ```
4. 待界面从FilePicker返回后再使用文件管理的接口[fs.openSync](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-file-fs.md#fsopensync)根据目的文件的uri打开这个文件得到fd。
```ts
let file = fs.openSync(uri, fs.OpenMode.READ_WRITE);
console.info('file fd: ' + file.fd);
```
5. 通过fd使用[fs.writeSync](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-file-fs.md#writesync)接口对这个文件进行编辑修改,编辑修改完成后关闭fd。
```ts
let writeLen = fs.writeSync(file.fd, 'hello, world');
console.info('write data to file succeed and size is:' + writeLen);
fs.closeSync(file);
```
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册