我正在尝试将基本文件上传到blobstore,但我得到了 这个OutOfMemoryError:
警告:/ _ah / upload /出错 aghvbWdkcmVzc3IcCxIVX19CbG9iVXBsb2FkU2Vzc2lvbl9fGMACDA java.lang.OutOfMemoryError:Java堆空间 at java.util.Arrays.copyOf(Arrays.java:2786) at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:71) 在 javax.mail.internet.MimeMultipart.readTillFirstBoundary(MimeMultipart.java: 316) 在javax.mail.internet.MimeMultipart.parse(MimeMultipart.java:186) 在javax.mail.internet.MimeMultipart.getCount(MimeMultipart.java:109) 在 com.google.appengine.api.blobstore.dev.UploadBlobServlet.handleUpload(UploadBlobServlet.java: 135) 在com.google.appengine.api.blobstore.dev.UploadBlobServlet.access $ 000(UploadBlobServlet.java:72) 在com.google.appengine.api.blobstore.dev.UploadBlobServlet $ 1.run(UploadBlobServlet.java:100) at java.security.AccessController.doPrivileged(Native Method) 在 com.google.appengine.api.blobstore.dev.UploadBlobServlet.doPost(UploadBlobServlet.java: 98) 在javax.servlet.http.HttpServlet.service(HttpServlet.java:713) 在javax.servlet.http.HttpServlet.service(HttpServlet.java:806) 在org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java: 511);
我在Eclipse上使用了Memory Analyzer,它说内存泄漏了 怀疑是QueuedThreadPool。我找到了关于记忆的这些信息 泄漏错误:
http://jira.codehaus.org/browse/JETTY-1188
还有其他人有这个问题吗?
谢谢, 让
答案 0 :(得分:6)
如果有人遇到此问题,很可能问题实际上是由文件输入字段中缺少“name”属性引起的。
请参阅:Uploading to Blobstore gives a Java heap OutOfMemoryError
解决后,您应该能够上传任何大小的文件。
答案 1 :(得分:0)
开发服务器可能会在上传和处理文件时将文件保留在内存中。生产服务器上的情况并非如此。
您正在测试的文件有多大?最简单的解决方案是使用较小的文件进行测试。
答案 2 :(得分:0)
我在开发服务器上获取任何文件大小。