当前ArkWeb是支持使用ShareArrayBuffer和cross-origin isolation的。如何读取本地文件,可以参考以下demo:import fs from '@ohos.file.fs'; import { resourceManager } from '@kit.LocalizationKit'; import { image } from '@kit.ImageKit'; import { fileUri } from '@kit.CoreFileKit'; @Entry @Component struct FunAPage { @State message: string = 'Hello funA'; @State filePath:string = '' @State imageUri:string = '' @State pixelMap:image.PixelMap | undefined = undefined aboutToAppear(): void { this.setImageUriToFile() } setImageUriToFile(){ let context = getContext(this); let filePath = context.filesDir + '/test.png'; //文件的字节数据,该处可替换为其他各种来源的字节数据 let arrayBuff = context.resourceManager.getRawFileContentSync('food.png').buffer let file = fs.openSync(filePath,fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE) fs.writeSync(file.fd,arrayBuff) fs.closeSync(file.fd) this.filePath = filePath } getImageUri(){ this.imageUri = fileUri.getUriFromPath(this.filePath) } async getPixelMapByImage():Promise<image.PixelMap>{ const context : Context = getContext(this); // 获取resourceManager资源管理器 const resourceMgr : resourceManager.ResourceManager = context.resourceManager; let rawFileDescriptor = await resourceMgr.getRawFd('food.png') const imageSource : image.ImageSource = image.createImageSource(rawFileDescriptor); let decodingOptions : image.DecodingOptions = { editable: true, desiredPixelFormat: 3, } // 创建pixelMap并进行简单的旋转和缩放 const pixelMap:image.PixelMap = await imageSource.createPixelMap(decodingOptions) this.pixelMap = pixelMap return pixelMap; } build() { Row() { Column() { Button('uri图片展示') .onClick(()=>{ this.getImageUri() }) Image(this.imageUri) .width(200) .height(200) Button('pixelMap图片展示') .onClick(()=>{ this.getPixelMapByImage() }) Image(this.pixelMap) .width(200) .height(200) } .width('100%') } .height('100%') } }注意:1、web当前不支持按行读取和识别特定行。2、web可以通过file协议加载沙箱资源,绝大多数都是html和js,css等资源,docx文档内容无法加载,目前只支持pdf文件。
当前ArkWeb是支持使用ShareArrayBuffer和cross-origin isolation的。
如何读取本地文件,可以参考以下demo:
注意:
1、web当前不支持按行读取和识别特定行。
2、web可以通过file协议加载沙箱资源,绝大多数都是html和js,css等资源,docx文档内容无法加载,目前只支持pdf文件。