上代码
package Servlet.response;
import jakarta.servlet.ServletException;
import jakarta.servlet.ServletOutputStream;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
@WebServlet("/responseServlet2")
public class responseServlet2 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("application/pdf");
resp.setHeader("Content-Disposition","attachment;fileName="+"a.pdf");
String path = this.getServletContext().getRealPath("/");
File file = new File(path + "test.pdf");
ServletOutputStream out =null;
FileInputStream inputStream = null;
try {
inputStream = new FileInputStream(file);
out =resp.getOutputStream();
int b= 0;
byte[] bytes = new byte[1024];
while ((b=inputStream.read(bytes))!=-1){
out.write(bytes,0,b);
}
} catch (IOException e) {
e.printStackTrace();
}finally {
out.close();
out.flush();
inputStream.close();
}
}
}
前台
<a href="/responseServlet2" >它是什么样的</a>?
需要下载的文件test.pdf放这里
也可以下载其他类型
这里参数改一下
resp.setContentType(“application/pdf”);
resp.setHeader(“Content-Disposition”,“attachment;fileName=”+“a.pdf”);
text/html : HTML格式
text/plain :纯文本格式
text/xml : XML格式
image/gif :gif图片格式
image/jpeg :jpg图片格式
image/png:png图片格式
以application开头的媒体格式类型:
application/xhtml+xml :XHTML格式
application/xml: XML数据格式
application/atom+xml :Atom XML聚合格式
application/json: JSON数据格式
application/pdf:pdf格式
application/msword : Word文档格式
application/octet-stream : 二进制流数据(如常见的文件下载)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)