参考demo://.ets文件 import { webview } from '@kit.ArkWeb'; import { picker } from '@kit.CoreFileKit'; import { BusinessError } from '@kit.BasicServicesKit'; @Entry @Component struct UploadingImages { controller: webview.WebviewController = new webview.WebviewController(); build() { Column() { Web({ src: $rawfile('TestFileType.html'), controller: this.controller }) .onShowFileSelector((event) => { console.info('MyFileUploader onShowFileSelector invoked.'); const photoSelectOptions = new picker.PhotoSelectOptions(); let uri: string | null = null; const photoViewPicker = new picker.PhotoViewPicker(); photoViewPicker.select(photoSelectOptions).then((photoSelectResult) => { uri = photoSelectResult.photoUris[0]; if (event) { event.result.handleFileList([uri]); } }).catch((err: BusinessError) => { console.error(`Invoke documentViewPicker.select failed, code is ${err.code}, message is ${err.message}`); }) return true; }) } } }//.html文件 <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1.0" charset="utf-8"> </head> <body> <form id="upload-form" enctype="multipart/form-data"> <input type="file" id="upload" name="upload"/> </form> </body> </html>
参考demo: