代码示例
var base64Str = "这是一串很长很长的base64串"
var Base64 = plus.android.importClass("android.util.Base64");
var bytes = Base64.decode(base64Str.slice(0, 100000), 0);
console.log(bytes); //打印出来为null
// 但是这样又没问题
var bytes = Base64.decode(base64Str.slice(0, 100), 0);
console.log(bytes); //打印出来有数据
然后我怀疑是base64过长导至的问题,然后我就搜到了这个:
https://ask.dcloud.net.cn/question/93515
和这个:
https://ask.dcloud.net.cn/question/93515
基本上可以认为是base64长度的问题,然后我就看到了@DCloud_Android_zl 的建议:
Android系统webview数据传输时会有长度限制,如果需要传输超长数据,可以集成X5内核解决,
https://ask.dcloud.net.cn/article/36806
于是我就集成了X5的内核,并非使用
plus.navigator.getUserAgent()
判断X5内核已经启用,内容如下:
Mozilla/5.0 (Linux; Android 10; Redmi Note 7 Build/QKQ1.190910.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045534 Mobile Safari/537.36 uni-app Html5Plus/1.0
但是还是没用,还是没用,还是没用,还是没用,还是没用,还是没用
1 个回复
9***@qq.com
同样问题,最后怎么解决的?