我将 java 用于我的服务器端应用程序,将 phonegap 用于我的客户端。当用户登录到我的应用程序时,我需要传输巨大的图像文件。
我将这些图像文件转换为 base64 格式并将其放入 json 对象中。当我将此 json 对象发送到客户端时,我收到 java 内存不足错误。
如何在一个请求中一个一个地发送这些图像文件,因为一次发送所有文件会导致 java 内存不足 error.pl 帮助我。
这是我的代码:
File folderName = new File(processingFolder+"/"+f1[i].getName());
File[] folderFiles= folderName.listFiles();
for(int m=0;m<folderFiles.length;m++)
{
System.out.println("folderFiles are:"+folderFiles[m]);
String s1 = new String();
File readfile = new File(folderFiles[m].toString());
System.out.println(readfile.exists() + "!!");
FileInputStream fis = new FileInputStream(readfile);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] buf = new byte[1024];
try {
for (int readNum; (readNum = fis.read(buf)) != -1;) {
bos.write(buf, 0, readNum);
//no doubt here is 0
/*Writes len bytes from the specified byte array starting at offset
off to this byte array output stream.*/
}
}
catch (IOException ex) {
}
byte[] bytes = bos.toByteArray();
String result2 = Base64.encode( bytes );
json1.put(folderFiles[m].getName(), result2);