求助:jspSmartUpload处理下载时文件路径中的空格怎么处理?? 400 报错 最近在做j2ee的课程设计,用cos处理文件上传,jspSmartUpload处理文件下载,但是在测试过程中发现带空格的文件上传好以后下载时会出错,如~/test/Firefox Key.html会识别成~/test/Firefox,然后就file not found了,请问中间的空格该怎样处理才能正确下载呢?
上传后要改个名字1,改成系统允许的名字
例如 Firefre Key.html 改为 1.html
######如果不改的话,那么下载的链接要用 URLEncoder.encode 处理一下
例如 URLEncoder.encode("Firefox Key.html")
######如果不改的话,那么下载的链接要用 URLEncoder.encode 处理一下
例如 URLEncoder.encode("Firefox Key.html")
我在使用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();
是不是我使用方法不正确啊?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。