我写了一些代码来将文件从Sever下载到客户机:
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();
}
此代码适用于小于8M的文件,但不适用于较大的文件。如果你们给我一些提示,我将不胜感激。
谢谢, 尼克
答案 0 :(得分:0)
这里没什么可做的。在Tomcat中,有多种方法可以设置最大文件上载大小。
例如,在tomcat server.xml中,有一个maxPostSize设置。我真的不太了解您的服务器,具体说明在哪里看。
答案 1 :(得分:0)
在tomcat中设置堆大小解决了这个问题。
所以我在apache-tomcat-7.0.8 \ bin \ catalina.bat中设置CATALINA_OPTS = -Xms512m -Xmx512m
我还设置了maxPostSize =“0”