鸿蒙5.0版开发:应用框架ArkWeb开发-上传文件

打印 上一主题 下一主题

主题 878|帖子 878|积分 2634

 往期鸿蒙全套实战文章必看:(文中附带鸿蒙全栈学习资料)



  • 鸿蒙开发焦点知识点,看这篇文章就够了
  • 最新版!鸿蒙HarmonyOS Next应用开发实战学习路线
  • 鸿蒙HarmonyOS NEXT开发技能最全学习路线指南
  • 鸿蒙应用开发实战项目,看这一篇文章就够了(部分项目附源码)

上传文件

Web组件支持前端页面选择文件上传功能,应用开发者可以使用onShowFileSelector()接口来处理前端页面文件上传的哀求,如果应用开发者不做任何处理,Web会提供默认举动来处理前端页面文件上传的哀求。
下面的示例中,当用户在前端页面点击文件上传按钮,应用侧在onShowFileSelector()接口中收到文件上传哀求,在此接口中开发者将上传的本地文件路径设置给前端页面。


  • 应用侧代码。
    1. // xxx.ets
    2. import { webview } from '@kit.ArkWeb';
    3. import { BusinessError } from '@kit.BasicServicesKit';
    4. import { picker } from '@kit.CoreFileKit';
    5. @Entry
    6. @Component
    7. struct WebComponent {
    8.   controller: webview.WebviewController = new webview.WebviewController();
    9.   build() {
    10.     Column() {
    11.       Web({ src: $rawfile('local.html'), controller: this.controller })
    12.         .onShowFileSelector((event) => {
    13.           console.log('MyFileUploader onShowFileSelector invoked');
    14.           const documentSelectOptions = new picker.DocumentSelectOptions();
    15.           let uri: string | null = null;
    16.           const documentViewPicker = new picker.DocumentViewPicker();
    17.           documentViewPicker.select(documentSelectOptions).then((documentSelectResult) => {
    18.             uri = documentSelectResult[0];
    19.             console.info('documentViewPicker.select to file succeed and uri is:' + uri);
    20.             if (event) {
    21.               event.result.handleFileList([uri]);
    22.             }
    23.           }).catch((err: BusinessError) => {
    24.             console.error(`Invoke documentViewPicker.select failed, code is ${err.code}, message is ${err.message}`);
    25.           })
    26.           return true;
    27.         })
    28.     }
    29.   }
    30. }
    复制代码
  • local.html页面代码。
    1. <!DOCTYPE html>
    2. <html>
    3. <head>
    4.     <meta charset="utf-8">
    5.     <title>Document</title>
    6. </head>
    7. <body>
    8. <!-- 点击上传文件按钮 -->
    9. <input type="file" value="file"></br>
    10. <meta name="viewport" content="width=device-width" />
    11. </body>
    12. </html>
    复制代码



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

河曲智叟

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表