示例参考如下:import { LengthMetrics } from '@kit.ArkUI' import { hilog } from '@kit.PerformanceAnalysisKit'; import { webview } from '@kit.ArkWeb'; import axios from '@ohos/axios'; const TAG = `struct1` const DOMAIN = 0x0001 @Component export struct ViewPDF { @State controller: webview.WebviewController = new webview.WebviewController() aboutToAppear(): void { hilog.info(DOMAIN, TAG, 'aboutToAppear'); } aboutToDisappear(): void { hilog.info(DOMAIN, TAG, 'aboutToDisappear'); } onBackPress(): boolean | void { hilog.info(DOMAIN, TAG, 'onBackPress'); } onPageShow(): void { hilog.info(DOMAIN, TAG, 'onPageShow'); } onPageHide(): void { hilog.info(DOMAIN, TAG, 'onPageHide'); } onDidBuild(): void { hilog.info(DOMAIN, TAG, 'onDidBuild'); } build() { Flex({ wrap: FlexWrap.Wrap, space: { main: LengthMetrics.vp(5), cross: LengthMetrics.vp(5) } }) { Web({ src: "", controller: this.controller }).width("100%").height(500).border({ width: 1 }) .domStorageAccess(true) Button("ViewPDF").onClick(() => { hilog.info(DOMAIN, TAG, 'ViewPDF'); axios.request({ method: "GET", responseType: "array_buffer", url: "http://localhost:3000/download", filePath: `${getContext().filesDir}/1.pdf` }).then(() => { hilog.info(DOMAIN, TAG, `done`); this.controller.loadUrl("file://" + getContext(this).filesDir + "/1.pdf") }) }) } } }
示例参考如下: