未验证 提交 81413748 编写于 作者: O openharmony_ci 提交者: Gitee

!23571 补充修改文管子系统文件相关开发文档

Merge pull request !23571 from 冯俊青/master
...@@ -60,7 +60,13 @@ function createFile() { ...@@ -60,7 +60,13 @@ function createFile() {
console.info("The length of str is: " + writeLen); console.info("The length of str is: " + writeLen);
// 从文件读取一段内容 // 从文件读取一段内容
let arrayBuffer = new ArrayBuffer(1024); let arrayBuffer = new ArrayBuffer(1024);
let readLen = fs.readSync(file.fd, arrayBuffer, { offset: 0 }); class Option {
public offset: number = 0;
public length: number;
}
let option = new Option();
option.length = arrayBuffer.byteLength;
let readLen = fs.readSync(file.fd, arrayBuffer, option);
let buf = buffer.from(arrayBuffer, 0, readLen); let buf = buffer.from(arrayBuffer, 0, readLen);
console.info("the content of file: " + buf.toString()); console.info("the content of file: " + buf.toString());
// 关闭文件 // 关闭文件
...@@ -89,11 +95,18 @@ function readWriteFile() { ...@@ -89,11 +95,18 @@ function readWriteFile() {
let bufSize = 4096; let bufSize = 4096;
let readSize = 0; let readSize = 0;
let buf = new ArrayBuffer(bufSize); let buf = new ArrayBuffer(bufSize);
let readLen = fs.readSync(srcFile.fd, buf, { offset: readSize }); class Option {
public offset: number = 0;
public length: number = bufSize;
}
let option = new Option();
option.offset = readSize;
let readLen = fs.readSync(srcFile.fd, buf, option);
while (readLen > 0) { while (readLen > 0) {
readSize += readLen; readSize += readLen;
fs.writeSync(destFile.fd, buf); fs.writeSync(destFile.fd, buf);
readLen = fs.readSync(srcFile.fd, buf, { offset: readSize }); option.offset = readSize;
readLen = fs.readSync(srcFile.fd, buf, option);
} }
// 关闭文件 // 关闭文件
fs.closeSync(srcFile); fs.closeSync(srcFile);
...@@ -118,7 +131,7 @@ import common from '@ohos.app.ability.common'; ...@@ -118,7 +131,7 @@ import common from '@ohos.app.ability.common';
let context = getContext(this) as common.UIAbilityContext; let context = getContext(this) as common.UIAbilityContext;
let filesDir = context.filesDir; let filesDir = context.filesDir;
async readWriteFileWithStream() { async function readWriteFileWithStream() {
// 打开文件流 // 打开文件流
let inputStream = fs.createStreamSync(filesDir + '/test.txt', 'r+'); let inputStream = fs.createStreamSync(filesDir + '/test.txt', 'r+');
let outputStream = fs.createStreamSync(filesDir + '/destFile.txt', "w+"); let outputStream = fs.createStreamSync(filesDir + '/destFile.txt', "w+");
...@@ -126,11 +139,18 @@ async readWriteFileWithStream() { ...@@ -126,11 +139,18 @@ async readWriteFileWithStream() {
let bufSize = 4096; let bufSize = 4096;
let readSize = 0; let readSize = 0;
let buf = new ArrayBuffer(bufSize); let buf = new ArrayBuffer(bufSize);
let readLen = await inputStream.read(buf, { offset: readSize }); class Option {
public offset: number = 0;
public length: number = bufSize;
}
let option = new Option();
option.offset = readSize;
let readLen = await inputStream.read(buf, option);
readSize += readLen; readSize += readLen;
while (readLen > 0) { while (readLen > 0) {
await outputStream.write(buf); await outputStream.write(buf);
readLen = await inputStream.read(buf, { offset: readSize }); option.offset = readSize;
readLen = await inputStream.read(buf, option);
readSize += readLen; readSize += readLen;
} }
// 关闭文件流 // 关闭文件流
...@@ -157,17 +177,17 @@ let filesDir = context.filesDir; ...@@ -157,17 +177,17 @@ let filesDir = context.filesDir;
// 查看文件列表 // 查看文件列表
function getListFile() { function getListFile() {
let filter: Filter = { class ListFileOption {
suffix: ['.png', '.jpg', '.txt'], // 匹配文件后缀名为'.png','.jpg','.txt' public recursion: boolean = false;
displayName: ['test%'], // 匹配文件全名以'test'开头 public listNum: number = 0;
fileSizeOver: 0, // 匹配文件大小大于等于0 public filter: Filter
lastModifiedAfter: new Date(0).getTime(), // 匹配文件最近修改时间在1970年1月1日之后
} }
let files = fs.listFileSync(filesDir, { let option = new ListFileOption();
recursion: false, option.filter.suffix = ['.png', '.jpg', '.txt']; // 匹配文件后缀名为'.png','.jpg','.txt'
listNum: 0, option.filter.displayName = ['test%']; // 匹配文件全名以'test'开头
filter: filter option.filter.fileSizeOver = 0; // 匹配文件全名以'test'开头
}); option.filter.lastModifiedAfter = new Date(0).getTime(); // 匹配文件最近修改时间在1970年1月1日之后
let files = fs.listFileSync(filesDir, option);
for (let i = 0; i < files.length; i++) { for (let i = 0; i < files.length; i++) {
console.info(`The name of file: ${files[i]}`); console.info(`The name of file: ${files[i]}`);
} }
......
...@@ -107,7 +107,7 @@ ...@@ -107,7 +107,7 @@
// 创建SessionBackup类的实例用于备份数据 // 创建SessionBackup类的实例用于备份数据
let g_session: backup.SessionBackup; let g_session: backup.SessionBackup;
function createSessionBackup() { function createSessionBackup() {
let sessionBackup = new backup.SessionBackup({ let generalCallbacks: backup.GeneralCallbacks = {
onFileReady: (err: BusinessError, file: backup.File) => { onFileReady: (err: BusinessError, file: backup.File) => {
if (err) { if (err) {
console.info('onFileReady err: ' + JSON.stringify(err)); console.info('onFileReady err: ' + JSON.stringify(err));
...@@ -148,7 +148,8 @@ ...@@ -148,7 +148,8 @@
onBackupServiceDied: () => { onBackupServiceDied: () => {
console.info('onBackupServiceDied'); console.info('onBackupServiceDied');
}, },
}); }
let sessionBackup = new backup.SessionBackup(generalCallbacks);
return sessionBackup; return sessionBackup;
} }
...@@ -181,13 +182,14 @@ ...@@ -181,13 +182,14 @@
// 创建SessionRestore类的实例用于恢复数据 // 创建SessionRestore类的实例用于恢复数据
let g_session: backup.SessionRestore; let g_session: backup.SessionRestore;
async function publishFile(file: backup.File) { async function publishFile(file: backup.File) {
await g_session.publishFile({ let fileMeta: backup.FileMeta = {
bundleName: file.bundleName, bundleName: file.bundleName,
uri: file.uri uri: file.uri
}); }
await g_session.publishFile(fileMeta);
} }
function createSessionRestore() { function createSessionRestore() {
let sessionRestore = new backup.SessionRestore({ let generalCallbacks: backup.GeneralCallbacks = {
onFileReady: (err: BusinessError, file: backup.File) => { onFileReady: (err: BusinessError, file: backup.File) => {
if (err) { if (err) {
console.info('onFileReady err: ' + JSON.stringify(err)); console.info('onFileReady err: ' + JSON.stringify(err));
...@@ -224,7 +226,8 @@ ...@@ -224,7 +226,8 @@
onBackupServiceDied: () => { onBackupServiceDied: () => {
console.info('service died'); console.info('service died');
} }
}); }
let sessionRestore = new backup.SessionRestore(generalCallbacks);
return sessionRestore; return sessionRestore;
} }
...@@ -240,14 +243,13 @@ ...@@ -240,14 +243,13 @@
console.info('appendBundles success'); console.info('appendBundles success');
// 添加需要恢复的应用成功后,请根据需要恢复的应用名称,调用getFileHandle接口获取待恢复应用数文件的文件句柄 // 添加需要恢复的应用成功后,请根据需要恢复的应用名称,调用getFileHandle接口获取待恢复应用数文件的文件句柄
// 应用待恢复数据文件数请依据实际备份文件个数为准,此处仅为请求示例 // 应用待恢复数据文件数请依据实际备份文件个数为准,此处仅为请求示例
await g_session.getFileHandle({ let handle: backup.FileMeta = {
bundleName: restoreApps[0], bundleName: restoreApps[0],
uri: "manage.json" uri: "manage.json"
}); }
await g_session.getFileHandle({ await g_session.getFileHandle(handle);
bundleName: restoreApps[0], handle.uri = "1.tar";
uri: "1.tar" await g_session.getFileHandle(handle);
});
console.info('getFileHandle success'); console.info('getFileHandle success');
} }
``` ```
...@@ -274,13 +276,14 @@ ...@@ -274,13 +276,14 @@
// 创建SessionRestore类的实例用于恢复数据 // 创建SessionRestore类的实例用于恢复数据
let g_session: backup.SessionRestore; let g_session: backup.SessionRestore;
async function publishFile(file: backup.File) { async function publishFile(file: backup.File) {
await g_session.publishFile({ let fileMeta: backup.FileMeta = {
bundleName: file.bundleName, bundleName: file.bundleName,
uri: file.uri uri: file.uri
}); }
await g_session.publishFile(fileMeta);
} }
function createSessionRestore() { function createSessionRestore() {
let sessionRestore = new backup.SessionRestore({ let generalCallbacks: backup.GeneralCallbacks = {
onFileReady: (err: BusinessError, file: backup.File) => { onFileReady: (err: BusinessError, file: backup.File) => {
if (err) { if (err) {
console.info('onFileReady err: ' + JSON.stringify(err)); console.info('onFileReady err: ' + JSON.stringify(err));
...@@ -322,7 +325,8 @@ ...@@ -322,7 +325,8 @@
onBackupServiceDied: () => { onBackupServiceDied: () => {
console.info('service died'); console.info('service died');
} }
}); }
let sessionRestore = new backup.SessionRestore(generalCallbacks);
return sessionRestore; return sessionRestore;
} }
...@@ -342,19 +346,15 @@ ...@@ -342,19 +346,15 @@
console.info('appendBundles success'); console.info('appendBundles success');
// 开发者需要请求安装应用的文件句柄 // 开发者需要请求安装应用的文件句柄
await g_session.getFileHandle({ let handle: backup.FileMeta = {
bundleName: restoreApps[0], bundleName: restoreApps[0],
uri: "/data/storage/el2/restore/bundle.hap" uri: "/data/storage/el2/restore/bundle.hap"
}); }
await g_session.getFileHandle(handle);
await g_session.getFileHandle({ handle.uri = "manage.json";
bundleName: restoreApps[0], await g_session.getFileHandle(handle);
uri: "manage.json" handle.uri = "1.tar";
}); await g_session.getFileHandle(handle);
await g_session.getFileHandle({
bundleName: restoreApps[0],
uri: "1.tar"
});
console.info('getFileHandle success'); console.info('getFileHandle success');
} }
``` ```
......
...@@ -24,6 +24,7 @@ OpenHarmony预置了FileManager文件管理器。系统应用开发者也可以 ...@@ -24,6 +24,7 @@ OpenHarmony预置了FileManager文件管理器。系统应用开发者也可以
import fileExtensionInfo from '@ohos.file.fileExtensionInfo'; import fileExtensionInfo from '@ohos.file.fileExtensionInfo';
import { Filter } from '@ohos.file.fs'; import { Filter } from '@ohos.file.fs';
import common from '@ohos.app.ability.common'; import common from '@ohos.app.ability.common';
import { BusinessError } from '@ohos.base';
``` ```
其中fileAccess提供了文件基础操作的API,fileExtensionInfo提供了应用开发的关键结构体。 其中fileAccess提供了文件基础操作的API,fileExtensionInfo提供了应用开发的关键结构体。
...@@ -35,7 +36,7 @@ OpenHarmony预置了FileManager文件管理器。系统应用开发者也可以 ...@@ -35,7 +36,7 @@ OpenHarmony预置了FileManager文件管理器。系统应用开发者也可以
```ts ```ts
// 获取应用上下文 // 获取应用上下文
let context = getContext(this) as common.UIAbilityContext; let context = getContext(this) as common.UIAbilityContext;
// 创建连接系统内所有文件管理服务端的helper对象 // 创建连接系统内所有文件管理服务端的helper对象
let fileAccessHelperAllServer: fileAccess.FileAccessHelper; let fileAccessHelperAllServer: fileAccess.FileAccessHelper;
...@@ -45,13 +46,14 @@ OpenHarmony预置了FileManager文件管理器。系统应用开发者也可以 ...@@ -45,13 +46,14 @@ OpenHarmony预置了FileManager文件管理器。系统应用开发者也可以
if (!fileAccessHelperAllServer) { if (!fileAccessHelperAllServer) {
console.error("createFileAccessHelper interface returns an undefined object"); console.error("createFileAccessHelper interface returns an undefined object");
} }
} catch (error) { } catch (err) {
let error: BusinessError = err as BusinessError;
console.error("createFileAccessHelper failed, errCode:" + error.code + ", errMessage:" + error.message); console.error("createFileAccessHelper failed, errCode:" + error.code + ", errMessage:" + error.message);
} }
} }
let rootInfos: Array<fileAccess.RootInfo> = [];
async function getRoots() { async function getRoots() {
let rootIterator: fileAccess.RootIterator; let rootIterator: fileAccess.RootIterator;
let rootInfos: fileAccess.RootInfo[] = [];
let isDone: boolean = false; let isDone: boolean = false;
try { try {
rootIterator = await fileAccessHelperAllServer.getRoots(); rootIterator = await fileAccessHelperAllServer.getRoots();
...@@ -81,7 +83,7 @@ OpenHarmony预置了FileManager文件管理器。系统应用开发者也可以 ...@@ -81,7 +83,7 @@ OpenHarmony预置了FileManager文件管理器。系统应用开发者也可以
```ts ```ts
// 从根目录开始 // 从根目录开始
let rootInfo = rootInfos[0]; let rootInfo = rootInfos[0];
let fileInfos: fileAccess.FileInfo[] = []; let fileInfos: Array<fileAccess.FileInfo> = [];
let isDone: boolean = false; let isDone: boolean = false;
let filter: Filter = {suffix : [".txt", ".jpg", ".xlsx"]}; // 设定过滤条件 let filter: Filter = {suffix : [".txt", ".jpg", ".xlsx"]}; // 设定过滤条件
try { try {
...@@ -89,7 +91,6 @@ OpenHarmony预置了FileManager文件管理器。系统应用开发者也可以 ...@@ -89,7 +91,6 @@ OpenHarmony预置了FileManager文件管理器。系统应用开发者也可以
// let fileIterator = rootInfo.scanFile(filter); // 过滤设备rootinfos[0]满足指定条件的文件信息,返回迭代对象 // let fileIterator = rootInfo.scanFile(filter); // 过滤设备rootinfos[0]满足指定条件的文件信息,返回迭代对象
if (!fileIterator) { if (!fileIterator) {
console.error("listFile interface returns an undefined object"); console.error("listFile interface returns an undefined object");
return;
} }
while (!isDone) { while (!isDone) {
let result = fileIterator.next(); let result = fileIterator.next();
...@@ -105,21 +106,20 @@ OpenHarmony预置了FileManager文件管理器。系统应用开发者也可以 ...@@ -105,21 +106,20 @@ OpenHarmony预置了FileManager文件管理器。系统应用开发者也可以
// 从指定的目录开始 // 从指定的目录开始
let fileInfoDir = fileInfos[0]; // fileInfoDir 表示某个目录信息 let fileInfoDir = fileInfos[0]; // fileInfoDir 表示某个目录信息
let subFileInfos: fileAccess.FileInfo[] = []; let subFileInfos: Array<fileAccess.FileInfo> = [];
let isDone: boolean = false; let isDone02: boolean = false;
let filter: Filter = {suffix : [".txt", ".jpg", ".xlsx"]}; // 设定过滤条件 let filter02: Filter = {suffix : [".txt", ".jpg", ".xlsx"]}; // 设定过滤条件
try { try {
let fileIterator = fileInfoDir.listFile(); // 遍历特定的目录fileinfo,返回迭代器对象 let fileIterator = fileInfoDir.listFile(); // 遍历特定的目录fileinfo,返回迭代器对象
// let fileIterator = rootInfo.scanFile(filter); // 过滤特定的目录fileinfo,返回迭代器对象 // let fileIterator = rootInfo.scanFile(filter02); // 过滤特定的目录fileinfo,返回迭代器对象
if (!fileIterator) { if (!fileIterator) {
console.error("listFile interface returns an undefined object"); console.error("listFile interface returns an undefined object");
return;
} }
while (!isDone) { while (!isDone02) {
let result = fileIterator.next(); let result = fileIterator.next();
console.info("next result = " + JSON.stringify(result)); console.info("next result = " + JSON.stringify(result));
isDone = result.done; isDone02 = result.done;
if (!isDone) if (!isDone02)
subFileInfos.push(result.value); subFileInfos.push(result.value);
} }
} catch (err) { } catch (err) {
...@@ -136,19 +136,20 @@ OpenHarmony预置了FileManager文件管理器。系统应用开发者也可以 ...@@ -136,19 +136,20 @@ OpenHarmony预置了FileManager文件管理器。系统应用开发者也可以
// 创建文件 // 创建文件
// 示例代码sourceUri是Download目录的fileinfo中的URI // 示例代码sourceUri是Download目录的fileinfo中的URI
// 开发者应根据自己实际获取fileinfo的URI进行开发 // 开发者应根据自己实际获取fileinfo的URI进行开发
let sourceUri: string = "file://docs/storage/Users/currentUser/Download"; async function creatFile() {
let displayName: string = "file1"; let sourceUri: string = "file://docs/storage/Users/currentUser/Download";
let fileUri: string; let displayName: string = "file1";
try { let fileUri: string;
// fileAccessHelper 参考 fileAccess.createFileAccessHelper 示例代码获取 try {
fileUri = await fileAccessHelper.createFile(sourceUri, displayName); // fileAccessHelperAllServer 参考 fileAccess.createFileAccessHelper 示例代码获取
if (!fileUri) { fileUri = await fileAccessHelperAllServer.createFile(sourceUri, displayName);
console.error("createFile return undefined object"); if (!fileUri) {
return; console.error("createFile return undefined object");
} }
console.info("createFile sucess, fileUri: " + JSON.stringify(fileUri)); console.info("createFile sucess, fileUri: " + JSON.stringify(fileUri));
} catch (err) { } catch (err) {
let error: BusinessError = err as BusinessError; let error: BusinessError = err as BusinessError;
console.error("createFile failed, errCode:" + error.code + ", errMessage:" + error.message); console.error("createFile failed, errCode:" + error.code + ", errMessage:" + error.message);
}; };
}
``` ```
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
```ts ```ts
import fs from '@ohos.file.fs'; import fs from '@ohos.file.fs';
import common from '@ohos.app.ability.common'; import common from '@ohos.app.ability.common';
import { BusinessError } from '@ohos.base';
let context = getContext(this) as common.UIAbilityContext; // 获取设备A的UIAbilityContext信息 let context = getContext(this) as common.UIAbilityContext; // 获取设备A的UIAbilityContext信息
let pathDir: string = context.distributedFilesDir; let pathDir: string = context.distributedFilesDir;
...@@ -41,6 +42,7 @@ ...@@ -41,6 +42,7 @@
import fs from '@ohos.file.fs'; import fs from '@ohos.file.fs';
import common from '@ohos.app.ability.common'; import common from '@ohos.app.ability.common';
import buffer from '@ohos.buffer'; import buffer from '@ohos.buffer';
import { BusinessError } from '@ohos.base';
let context = getContext(this) as common.UIAbilityContext; // 获取设备B的UIAbilityContext信息 let context = getContext(this) as common.UIAbilityContext; // 获取设备B的UIAbilityContext信息
let pathDir: string = context.distributedFilesDir; let pathDir: string = context.distributedFilesDir;
...@@ -53,9 +55,13 @@ ...@@ -53,9 +55,13 @@
// 定义接收读取数据的缓存 // 定义接收读取数据的缓存
let arrayBuffer = new ArrayBuffer(4096); let arrayBuffer = new ArrayBuffer(4096);
// 读取文件的内容,返回值是读取到的字节个数 // 读取文件的内容,返回值是读取到的字节个数
let num = fs.readSync(file.fd, arrayBuffer, { class Option {
offset: 0 public offset: number = 0;
}); public length: number;
}
let option = new Option();
option.length = arrayBuffer.byteLength;
let num = fs.readSync(file.fd, arrayBuffer, option);
// 打印读取到的文件数据 // 打印读取到的文件数据
let buf = buffer.from(arrayBuffer, 0, num); let buf = buffer.from(arrayBuffer, 0, num);
console.info('read result: ' + buf.toString()); console.info('read result: ' + buf.toString());
......
...@@ -57,16 +57,19 @@ ...@@ -57,16 +57,19 @@
import volumeManager from '@ohos.file.volumeManager'; import volumeManager from '@ohos.file.volumeManager';
import { BusinessError } from '@ohos.base'; import { BusinessError } from '@ohos.base';
const subscribeInfo: CommonEvent.CommonEventSubscribeInfo = { let subscriber: CommonEvent.CommonEventSubscriber;
async function example() {
const subscribeInfo: CommonEvent.CommonEventSubscribeInfo = {
events: [ events: [
"usual.event.data.VOLUME_REMOVED", "usual.event.data.VOLUME_REMOVED",
"usual.event.data.VOLUME_UNMOUNTED", "usual.event.data.VOLUME_UNMOUNTED",
"usual.event.data.VOLUME_MOUNTED", "usual.event.data.VOLUME_MOUNTED",
"usual.event.data.VOLUME_BAD_REMOVAL", "usual.event.data.VOLUME_BAD_REMOVAL",
"usual.event.data.VOLUME_EJECT" "usual.event.data.VOLUME_EJECT"
] ]
}; };
let subscriber = await CommonEvent.createSubscriber(subscribeInfo); subscriber = await CommonEvent.createSubscriber(subscribeInfo);
}
``` ```
3. 收到广播通知后获取卷设备信息。 3. 收到广播通知后获取卷设备信息。
......
...@@ -62,8 +62,8 @@ save接口会将文件保存在文件管理器,而不是图库。 ...@@ -62,8 +62,8 @@ save接口会将文件保存在文件管理器,而不是图库。
save返回的uri权限是读写权限,可以根据结果集里面的uri进行文件读写等操作。注意不能在picker的回调里直接使用此uri进行打开文件操作,需要定义一个全局变量保存uri,使用类似一个按钮去触发打开文件。 save返回的uri权限是读写权限,可以根据结果集里面的uri进行文件读写等操作。注意不能在picker的回调里直接使用此uri进行打开文件操作,需要定义一个全局变量保存uri,使用类似一个按钮去触发打开文件。
```ts ```ts
let uris: string; let uris: Array<string>;
async photoViewPickerSave() { async function photoViewPickerSave() {
try { try {
const photoSaveOptions = new picker.PhotoSaveOptions(); // 创建文件管理器保存选项实例 const photoSaveOptions = new picker.PhotoSaveOptions(); // 创建文件管理器保存选项实例
photoSaveOptions.newFileNames = ["PhotoViewPicker01.png"]; // 保存文件名(可选),方括号里的文件名自定义,每次不能重复,设备里已有这个文件的话,名字就需要改个不一样的,不然接口会报错 photoSaveOptions.newFileNames = ["PhotoViewPicker01.png"]; // 保存文件名(可选),方括号里的文件名自定义,每次不能重复,设备里已有这个文件的话,名字就需要改个不一样的,不然接口会报错
......
...@@ -107,25 +107,27 @@ ...@@ -107,25 +107,27 @@
> 目前DocumentSelectOptions功能不完整, 如需获取文件名称,请使用startAbilityForResult接口。 > 目前DocumentSelectOptions功能不完整, 如需获取文件名称,请使用startAbilityForResult接口。
```ts ```ts
let config: Want = { async function example() {
action: 'ohos.want.action.OPEN_FILE', let config: Want = {
parameters: { action: 'ohos.want.action.OPEN_FILE',
startMode: 'choose', parameters: {
startMode: 'choose',
}
} }
} try {
try { let result = await context.startAbilityForResult(config, {windowMode: 1});
let result = await context.startAbilityForResult(config, {windowMode: 1}); if (result.resultCode !== 0) {
if (result.resultCode !== 0) { console.error(`documentViewPicker.select failed, code is ${result.resultCode}, message is ${result.want.parameters.message}`);
console.error(`documentViewPicker.select failed, code is ${result.resultCode}, message is ${result.want.parameters.message}`); return;
return; }
// 获取到文档文件的uri
let select_item_list = result.want.parameters.select_item_list;
// 获取到文档文件的文件名称
let file_name_list = result.want.parameters.file_name_list;
} catch (error) {
let err: BusinessError = error as BusinessError;
console.error(`Invoke documentViewPicker.select failed, code is ${err.code}, message is ${err.message}`);
} }
// 获取到文档文件的uri
let select_item_list = result.want.parameters.select_item_list;
// 获取到文档文件的文件名称
let file_name_list = result.want.parameters.file_name_list;
} catch (err) {
let err: BusinessError = error as BusinessError;
console.error(`Invoke documentViewPicker.select failed, code is ${err.code}, message is ${err.message}`);
} }
``` ```
......
...@@ -79,8 +79,7 @@ ...@@ -79,8 +79,7 @@
console.error(`Invoke startAbility failed, code is ${err.code}, message is ${err.message}`); console.error(`Invoke startAbility failed, code is ${err.code}, message is ${err.message}`);
}); });
} }
// ...
...
} }
``` ```
...@@ -123,6 +122,7 @@ ...@@ -123,6 +122,7 @@
// xxx.ets // xxx.ets
import fs from '@ohos.file.fs'; import fs from '@ohos.file.fs';
import Want from '@ohos.app.ability.Want'; import Want from '@ohos.app.ability.Want';
import { BusinessError } from '@ohos.base';
function getShareFile() { function getShareFile() {
try { try {
......
...@@ -65,7 +65,7 @@ async function example01() { ...@@ -65,7 +65,7 @@ async function example01() {
}); });
} catch (error) { } catch (error) {
let err: BusinessError = error as BusinessError; let err: BusinessError = error as BusinessError;
console.error('PhotoViewPicker failed with err: ' + + JSON.stringify(err)); console.error('PhotoViewPicker failed with err: ' + JSON.stringify(err));
} }
} }
``` ```
...@@ -207,7 +207,7 @@ async function example05() { ...@@ -207,7 +207,7 @@ async function example05() {
let photoPicker = new picker.PhotoViewPicker(); let photoPicker = new picker.PhotoViewPicker();
photoPicker.save(PhotoSaveOptions, (err: BusinessError, PhotoSaveResult: Array<string>) => { photoPicker.save(PhotoSaveOptions, (err: BusinessError, PhotoSaveResult: Array<string>) => {
if (err) { if (err) {
console.error('PhotoViewPicker.save failed with err: ' JSON.stringify(err)); console.error('PhotoViewPicker.save failed with err: ' + JSON.stringify(err));
return; return;
} }
console.info('PhotoViewPicker.save successfully, PhotoSaveResult uri: ' + JSON.stringify(PhotoSaveResult)); console.info('PhotoViewPicker.save successfully, PhotoSaveResult uri: ' + JSON.stringify(PhotoSaveResult));
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册