这个由于自己的一个失误导致浏览器一直读取不到文件名和文件类型,后来发现是一个笔误。
"attachment;filename="+filename 少写了一个等号。。。。把这个代码贴上来,以此记录。
直接帖代码
/**
* Response实现文件下载
*
*/
public class FileDownload extends HttpServlet {
public void doGet(HttpServletRequest request,HttpServletResponse respose) throws ServletException,IOException{
String path=this.getServletContext().getRealPath("/download/1.jpg");
String filename=path.substring(path.lastIndexOf("\\")+1);
respose.addHeader("Content-Disposition", "attachment;filename="+filename);
respose.setHeader("Content-Type", "text/html,charset=utf-8");
InputStream in=null;
OutputStream out=null;
try{
in=new FileInputStream(path);
int len=0;
byte buffer[]=new byte[1024];
out=respose.getOutputStream();
while((len=in.read(buffer))>0){
out.write(buffer, 0, len);
}
System.out.println("path:"+path);
System.out.println("filename:"+filename);
}finally{
if(in!=null){
try{
in.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
}
}