为什么在测试页面内点击了下载某个文件, 不弹对话框保存呢?
还有response.setContentType("applicatipn/x-tar");这个只能规定制定的mime类型,如果想下载各种类型怎么处理啊?
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
try{
String serverName=request.getServerName();
String realPath=request.getRealPath(serverName);
realPath=realPath.substring(0,realPath.lastIndexOf("\\"));
String rootPath=realPath+"\\upload\\"; //文件的保存地址
String filename=request.getParameter("name1"); //文件名字
filename=new String(filename.getBytes("iso8859-1"),"UTF-8");
File fileLoad=new File(rootPath,filename);
response.reset();
response.setHeader("Content-disposition","attachment;filename="+filename);
response.setContentType("applicatipn/x-tar");
long fileLength=fileLoad.length();
String length=String.valueOf(fileLength);
response.setHeader("Content_Length", length);
FileInputStream in=new FileInputStream(fileLoad);
System.out.println(fileLoad);
int n=0;
byte b[]=new byte[1024];
OutputStream o=response.getOutputStream();
while((n=in.read(b))!=-1)
{
o.write(b,0,n);
}
o.close();
o.flush();
}catch(Exception e){}
response.reset();
}
还有response.setContentType("applicatipn/x-tar");这个只能规定制定的mime类型,如果想下载各种类型怎么处理啊?
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
try{
String serverName=request.getServerName();
String realPath=request.getRealPath(serverName);
realPath=realPath.substring(0,realPath.lastIndexOf("\\"));
String rootPath=realPath+"\\upload\\"; //文件的保存地址
String filename=request.getParameter("name1"); //文件名字
filename=new String(filename.getBytes("iso8859-1"),"UTF-8");
File fileLoad=new File(rootPath,filename);
response.reset();
response.setHeader("Content-disposition","attachment;filename="+filename);
response.setContentType("applicatipn/x-tar");
long fileLength=fileLoad.length();
String length=String.valueOf(fileLength);
response.setHeader("Content_Length", length);
FileInputStream in=new FileInputStream(fileLoad);
System.out.println(fileLoad);
int n=0;
byte b[]=new byte[1024];
OutputStream o=response.getOutputStream();
while((n=in.read(b))!=-1)
{
o.write(b,0,n);
}
o.close();
o.flush();
}catch(Exception e){}
response.reset();
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货