plus.runtime.openWeb在uni-app的android手机上无法上传图片文件

plus.runtime.openWeb在uni-app的android手机上无法上传图片文件

1 回复

更多关于plus.runtime.openWeb在uni-app的android手机上无法上传图片文件的实战教程也可以访问 https://www.itying.com/category-93-b0.html


在uni-app中使用plus.runtime.openWeb打开网页时遇到Android端无法上传图片的问题,这通常是由于系统WebView的安全限制导致的。以下是解决方案:

  1. 使用原生WebView替代:
// 创建原生WebView
var wv = plus.webview.create("", "custom-webview", {
  plusrequire: "none"
});
wv.loadURL("你的网页地址");
wv.show();
  1. 检查并请求必要的权限: 确保在manifest.json中已声明文件访问权限:
{
  "permissions": {
    "Android": {
      "permissions": [
        "<uses-permission android:name=\"android.permission.READ_EXTERNAL_STORAGE\"/>",
        "<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"/>"
      ]
    }
  }
}
  1. 使用uni.chooseImage中转:
uni.chooseImage({
  success: (res) => {
    const tempFilePaths = res.tempFilePaths;
    // 通过JS将文件传递给网页
    plus.runtime.openWeb({
      url: "你的网页地址",
      extras: {
        filePath: tempFilePaths[0]
      }
    });
  }
});
  1. 升级HBuilderX到最新版本,确保使用最新的WebView内核。

  2. 对于Android 10+设备,需要在manifest.json中添加:

{
  "app-plus": {
    "android": {
      "targetSdkVersion": 29,
      "usesCleartextTraffic": true
    }
  }
}
回到顶部