繁体   English   中英

如何在 java 上上传多个文件

[英]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 ,因此可能值得更新您的应用程序以将ServletFileUploadDiskFileItemFactory一起使用。

setSizeThreshold值确定上传组中的每个项目使用 memory 或文件保存的大小阈值,因此您的问题很可能是由于您的大 1MB setSizeThreshold()调用与大量文件等的组合可以通过将大小减小到较低值来修复。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM