Java 小程序调用中参数的大小太大

Java 小程序调用中参数的大小太大,java,javascript,applet,liveconnect,Java,Javascript,Applet,Liveconnect,我在将一些数据从JavaScript传递到小程序时遇到问题。我认为数据太大(字符串中有1800万个字符),无法通过LiveConnect传递 我将代码示例放在下面: JavaScript: var bigData = generateSomeBigData(18000000); // string contaning 18 000 000 characters applet.Execute(bigData); // no error applet.Execute(linkToBigData);

我在将一些数据从JavaScript传递到小程序时遇到问题。我认为数据太大(字符串中有1800万个字符),无法通过LiveConnect传递

我将代码示例放在下面:

JavaScript:

var bigData = generateSomeBigData(18000000); // string contaning 18 000 000 characters
applet.Execute(bigData); // no error
applet.Execute(linkToBigData);
小程序:

public void Execute(String data) {
    this.doSomethingWithData(data);  // data is null
}
public void Execute(String link) {
    String data = this.downloadData(link);
    this.doSomethingWithData(data);  // data is not null ;)
}
我在java控制台或javascript代码中没有得到任何错误或异常。 我试着用更大的堆运行applet,但没有用

... <param name="java_arguments" value="-Xmx128m" /> ...
。。。

唯一的问题是我得到的是
null
而不是包含字符串的数据,它不依赖于浏览器(FF、Chrome)。

我解决了这个问题。我将数据生成移动到服务器站点,并使用一次自毁链接将数据传递给小程序。小程序可以下载不再可用的信息并返回结果

这里有一个例子:

服务器:

String bigData = this.generateBigData(18000000);
String linkToData = this.getOneTimeLink(bigData);
JavaScript:

var bigData = generateSomeBigData(18000000); // string contaning 18 000 000 characters
applet.Execute(bigData); // no error
applet.Execute(linkToBigData);
小程序:

public void Execute(String data) {
    this.doSomethingWithData(data);  // data is null
}
public void Execute(String link) {
    String data = this.downloadData(link);
    this.doSomethingWithData(data);  // data is not null ;)
}
编辑2015年5月11日:


也许你需要一个小的解释,一次性破坏链接。我使用它是因为它是我的项目的另一个要求,但它不是实现解决方案的必要条件。

“小程序调用中的参数太大”是的,当然18兆字节太大了。。你有什么问题吗?是的,如何将更大的数据传递给小程序?我可以实现一些碎片机制,但我想问的是,有没有一种方法可以只通过更改小程序配置来传递大数据。