小权
小权
  • 发布:2020-04-13 10:28
  • 更新:2022-03-17 09:30
  • 阅读:7354

关于NativeJS调用原生方法,传递参数的长度问题

分类:Native.js

先看一段代码,我使用NativeJS实现将base64转换成文件保存到本地:

plus.io.requestFileSystem(plus.io.PRIVATE_DOC, function(fs) {  
                        fs.root.getFile('tts.mp3', {  
                            create: true  
                        }, function(entry) {  
                            // 获得平台绝对路径    
                            var fullPath = entry.fullPath;  
                            var Base64 = plus.android.importClass("android.util.Base64");  
                            var strBase64 ='这是base64字符串,太长省略';  
                            var bytes = Base64.decode(strBase64, 0);  
                            var FileOutputStream = plus.android.importClass("java.io.FileOutputStream");  
                            var out = new FileOutputStream(fullPath);  
                            mui.alert(bytes.length);  
                            out.write(bytes);  
                            out.close();  
                        });  
});

这段代码本身是没有问题的,而我在测试中发现,有时候文件正常,而有时候文件是0B。
经过不断测试,包括图片、txt等文件格式,最终发现,这个与base64本身的大小有关系。
当我用4k以下的文件做测试时都能成功,4k以上都不成功(我并没有去确认是不是一定是4k这个临界值)
也就是说,base64超过一定大小时,var bytes = Base64.decode(strBase64, 0);这句代码得到的bytes是null。同样的,base64比较小时var bytes = Base64.decode(strBase64, 0);能得到正确的bytes,但是如果这个bytes超过一定大小,FileOutputStream.write也会执行出错,导致写不进数据。
而我转到AS里写原生代码,用同样的base64测试是没有问题的。所以,我得出的结论是,nativeJS传递参数的长度有限制。还请官方解答一下。最好有解决方案,我们用HB就是为了避免离线打包,减少打包工作,现在我又不得不写原生代码,然后安卓和ios又得分别离线打包。

2020-04-13 10:28 负责人:无 分享
已邀请:
小权

小权 (作者)

一个最简单的例子:

var Toast = plus.android.importClass("android.widget.Toast");  
var activity=plus.android.runtimeMainActivity();  
var str='测试内容';  
var t1=Toast.makeText(activity,str, Toast.LENGTH_LONG);  
t1.show();

这是没问题的。只是当str超过一定长度就不行了。
而同样的超长str在原生代码里是没问题的

  • DCloud_Android_zl

    麻烦提供一个可以直接复现问题的demo,我这边测试str的长度都1000左右了还是正常的。

    2020-04-14 11:18

  • 小权 (作者)

    回复 DCloud_Android_zl: 比如一个10k左右的图片base64字符串:

    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

    2020-04-14 11:27

DCloud_App_Array

DCloud_App_Array

传入了多长的数据?
JS层到原生是有语言环境的转换,不要传入过长的数据。

  • 小权 (作者)

    感谢回复。通常我们不会有很长的参数,但是base64除外。你看我上面提到的例子。我需要将一个语音的base64保存为本地文件,现在就实现不了了。这是个很常见的调用。我在开发第三方插件的时候,js传递很大的base64也没问题的,说明js到原生层传递大参数还是可以的。希望你们能考虑解决一下NativeJS传递超长参数的问题。

    2020-04-13 20:43

DCloud_Android_zl

DCloud_Android_zl

Android系统webview数据传输时会有长度限制,如果需要传输超长数据,可以集成X5内核解决,https://ask.dcloud.net.cn/article/36806

1***@qq.com

1***@qq.com

plus.android.importClass("java.util.Base64"); 文件过大确实无法转换成字节数组,我这边采取的是 把base64数据 截成长度为1024的字节 一段一段的转换,然后再拼接起来,实现了功能。

该问题目前已经被锁定, 无法添加新回复