[英]How to upload multiple files on java
I have "folder" filled with documents, that i need to upload, i already used apache fileUpload but this "upload the entire folder to the jvm heap memory" so if the user have a folder with 100mb of docs, the application will launch java堆大小错误。
因此,在 java 中,有一种方法可以读取“文件夹”并逐个上传文件,而不是一次将 100mb 的文档直接收费到 jvm 堆 ZCD69B4957F06CD818D7BF3D61980E2
-不,不可能在 jvm 堆大小上添加更多 mb。
java 代码
DiskFileUpload upload = new DiskFileUpload();
upload.setSizeThreshold(1024 * 1024 * 1);
upload.setSizeMax(-1);
List<FileItem> items = null;
try {
items = parseRequest(req, upload);
} catch (FileUploadException e) {
e.printStackTrace();
msg = new String[1];
msg[0] = e.getMessage();
session = req.getSession(true);
session.setAttribute("msg", msg);
resp.sendRedirect("front/Alerts.jsp?ok=false");
return;
}
protected List<FileItem> parseRequest(HttpServletRequest req, DiskFileUpload upload)
throws IOException, FileUploadException {
return upload.parseRequest(req);
}
您正在使用已弃用的 class DiskFileUpload
,因此可能值得更新您的应用程序以将ServletFileUpload
与DiskFileItemFactory
一起使用。
setSizeThreshold
值确定上传组中的每个项目使用 memory 或文件保存的大小阈值,因此您的问题很可能是由于您的大 1MB setSizeThreshold()
调用与大量文件等的组合可以通过将大小减小到较低值来修复。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.