jsp页面怎么传文件路径形式的字符串给servlet,然后使servlet用浏览器下载这个文件路径字符串指向的文件到客户端?

weixin_38974328 weixin_38974328 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

我写了一下相关的代码,在hsp页面端点击一个按钮,该按钮的点击事件执行时,通过ajax把文件名传到servlet,servlet没有报异常,但是浏览器就不弹出下载文件提示。这个要怎么解决。正确的代码是什么


$("#btn").click(function() {
$.ajax({
type: "GET",
url: "http://127.0.0.1:8080/javaWebDome/DownloadFileServlet",
data: "downFile="+"1.txt",
success: function(data,text,jqHR){
},
error: function(data,text,jqHR)
{
alert("错误");
},
})

});



public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

String fileName=request.getParameter("downFile");
System.out.println(fileName); //这里能输出
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
response.setContentType("APPLICATION/OCTET-STREAM");

String dowmName="下载"+fileName.substring(fileName.lastIndexOf("."));
response.setHeader("Content-Disposition", "attachment; filename=\""+new String(dowmName.getBytes("utf-8"),"ISO-8859-1")+"\"");
FileInputStream fileInputStream = new FileInputStream("f:/aaa/"+fileName);
int i = 0;
while ((i = fileInputStream.read()) != -1) {
out.write(i);
}
fileInputStream.close();
out.close();

}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request,response);

}

...全文

相关推荐

评论 3
收藏 已收藏
分享
返回顶部
weixin_38974328
Java EE 67,535 成员 225,843 内容