Загрузка больших файлов на Java с использованием FileCopyUtils.copy - PullRequest
0 голосов
/ 24 февраля 2011

Я написал несколько кодов для загрузки файлов с сервера на компьютеры клиентов:

   BufferedInputStream in = null;
                try {
                    in = new BufferedInputStream(new FileInputStream(fileNpath));
                } catch (FileNotFoundException e) { 
                    e.printStackTrace();
                }
                String mimetype = servletContext.getMimeType(fileNpath);

                response.setBufferSize(fSize);
                response.setContentType(mimetype); 
                response.setHeader("Content-Disposition", "attachment; filename=\""+ fileName + "\"");
                response.setContentLength(fSize); 


                try {
                    FileCopyUtils.copy(in, response.getOutputStream()); 
                    in.close();
                    response.getOutputStream().flush();
                    response.getOutputStream().close();  
                } catch (IOException e) { 
                    e.printStackTrace();
                }

Этот код отлично работает для файлов размером менее 8 МБ, но не для файлов большего размера.Я буду благодарен, если вы, ребята, дадите мне несколько советов.

Спасибо, Ник

Ответы [ 2 ]

0 голосов
/ 26 февраля 2011

Установка размера кучи в tomcat решила проблему.

Поэтому я устанавливаю CATALINA_OPTS = -Xms512m -Xmx512m в apache-tomcat-7.0.8 \ bin \ catalina.bat

Я также устанавливаю maxPostSize = "0"

0 голосов
/ 24 февраля 2011

Здесь не так много всего.В Tomcat есть различные способы установить максимальный размер загружаемого файла.

Например, в файле tomcat server.xml есть параметр maxPostSize.Я действительно не знаю достаточно о вашем сервере, чтобы конкретно сказать, где искать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...