我在使用SmartUpload处理下载是使用这个方法也不行,随后换了一个方法,使用
String path = request.getParameter("path").trim();
URLEncoder.encode(path,"UTF-8");
response.setContentType("application/octet-stream; CHARSET=utf8");
response.setHeader("Content-Disposition","attachment; filename="+path);就可以了,不知为何,这是调用SmartUpload的代码
if (path == null) {
response.setContentType("text/html; charset=UTF-8");
response.getWriter().print("文件不存在,或者禁止下载!");
return;
}
InputStream inStream = new FileInputStream(path);
response.reset();
SmartUpload su = new SmartUpload();
su.initialize(this.getServletConfig(), request, response);
su.setContentDisposition(null);
su.downloadFile(path);
byte[] b = new byte[100];
int len = 0;
while ((len = inStream.read(b)) > 0) {
response.getOutputStream().write(b, 0, len);
}
inStream.close();是不是我使用方法不正确啊?