codecamp

上传文件

Web组件支持前端页面选择文件上传功能,应用开发者可以使用onShowFileSelector()接口来处理前端页面文件上传的请求。

下面的示例中,当用户在前端页面点击文件上传按钮,应用侧在onShowFileSelector()接口中收到文件上传请求,在此接口中开发者将上传的本地文件路径设置给前端页面。

  • 应用侧代码。
    1. // xxx.ets
    2. import web_webview from '@ohos.web.webview';
    3. @Entry
    4. @Component
    5. struct WebComponent {
    6. controller: web_webview.WebviewController = new web_webview.WebviewController()
    7. build() {
    8. Column() {
    9. // 加载本地local.html页面
    10. Web({ src: $rawfile('local.html'), controller: this.controller })
    11. .onShowFileSelector((event) => {
    12. // 开发者设置要上传的文件路径
    13. let fileList: Array<string> = [
    14. 'xxx/test.png',
    15. ]
    16. if(event){
    17. event.result.handleFileList(fileList)
    18. }
    19. return true;
    20. })
    21. }
    22. }
    23. }
  • 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. </body>
    11. </html>
设置深色模式
在新窗口中打开页面
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录
HAR

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }