做网站需要的上传和下载功能,其中的上传和下载的功能用的是jspsmartupload组件,可以上传名称是中文的文件,但是却不能下载名称为中文的文件,点击下载之后出现的不是乱码,而是一个空白页面。但是到java的控制台中看到,显示的文件的名字是因为乱码没有显示出来。后来,经过改正,可以下载名称为中文的文件了。
download.jsp是这样写的:
<%@ page contentType="text/html; charset=gb2312" language="java" %>
<jsp:useBean id="upFile" scope="page" class="com.jspsmart.upload.SmartUpload" />
<%
try{
response.reset();
out.clear();
out=pageContext.pushBody();
upFile.initialize(pageContext);
upFile.setContentDisposition(null);
String file=request.getParameter("filename");
String file1=new String(request.getParameter("filename").getBytes("iso-8859-1"),"gbk");//加上这句话之后,就可以成功下载中文名称的文件了。
upFile.downloadFile("/upload/"+file1);
}catch(Exception e){
out.println("<script>alert('文件下载失败:请检查选择的文件是否存在?')</script>");
}
%>