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的安全限制导致的。以下是解决方案:
- 使用原生WebView替代:
// 创建原生WebView
var wv = plus.webview.create("", "custom-webview", {
plusrequire: "none"
});
wv.loadURL("你的网页地址");
wv.show();
- 检查并请求必要的权限: 确保在manifest.json中已声明文件访问权限:
{
"permissions": {
"Android": {
"permissions": [
"<uses-permission android:name=\"android.permission.READ_EXTERNAL_STORAGE\"/>",
"<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"/>"
]
}
}
}
- 使用uni.chooseImage中转:
uni.chooseImage({
success: (res) => {
const tempFilePaths = res.tempFilePaths;
// 通过JS将文件传递给网页
plus.runtime.openWeb({
url: "你的网页地址",
extras: {
filePath: tempFilePaths[0]
}
});
}
});
-
升级HBuilderX到最新版本,确保使用最新的WebView内核。
-
对于Android 10+设备,需要在manifest.json中添加:
{
"app-plus": {
"android": {
"targetSdkVersion": 29,
"usesCleartextTraffic": true
}
}
}