如何从浏览器下载文件
使用Tomcat8.5.77,servlet,maven3.3.9,diea2020
1.设置文件路径
String picPath="Q:\\idea\\workplace\\java\\javaWeb\\tm\\createADown\\src\\main\\resources\\1.png";
2.得到文件名
String fileName=picPath.substring(picPath.lastIndexOf("\\")+1);
3.让浏览器支持下载
resp.setHeader("Content-disposition","attachment;filename"+fileName);
4.获取下载文件的输入流
FileInputStream fInStr=new FileInputStream(picPath);
5.设置一个缓冲区
int len=0;
byte[] buffer= new byte[1024];
6.设置一个输出流对象
ServletOutputStream serOutStr=resp.getOutputStream();
7.将输入流写到缓冲区,并用output对象将缓冲区的数据输出到客户端
while ((len=fInStr.read(buffer))>0){
serOutStr.write(buffer,0,len);
}
最后发现文件名改变
改了编码后发现文件名仍是D.png
查看网络有
发现代码少写一个“=”
改正之后,文件名正常
by /qyc