我通过将隐藏元素设置为从本地文件路径读取的BASE64字节,从java applet提交html表单。
DataInputStream dataInputStream = new DataInputStream(new BufferedInputStream(new FileInputStream(filePath)));
dataInputStream.readFully(bytes);
String base64_str = Base64Utils.base64Encode(bytes);
JSObject mainForm = (JSObject)browserWindow.eval("document.myform");
JSObject Field = (JSObject)mainForm.getMember(FieldName);
Field.setMember("value", base64_str);
这里当正在读取的文件大约是1.5Mb时,它可以正常工作,但是在该异常之上发出了java.lang.OutOfMemoryError。
我使用HTML提交文件以使用浏览器会话,并避免上传首先在applet中预处理的文件的步骤。
我可以将文件读入字符串并设置隐藏字段的最大限制是多少? 如何增加applet的内存?