请问,如何让PDF文件直接下载而不是在浏览器中打开

sunji12 2013-03-01 09:02:22
我的页面里有几个PDF的连接 但是每次点击都是直接在新窗口打开了,我希望能够使自动下载到本地,请问该如何做呢?
...全文
2015 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
oggmm 2013-03-01
  • 打赏
  • 举报
回复
服务器端读取pdf的流 然后设置header信息和contenttype 然后response出去 如 上面一些楼所说
泰坦小毛驴 2013-03-01
  • 打赏
  • 举报
回复
引用 3 楼 sunji12 的回复:
引用 2 楼 dongdong406 的回复: 要就在后台返回值的servlet里加上 response.addHeader("Content-Disposition","attachment;filename=" + fileurl); 这个就可以了请问是在JS文件的AJAX中添加这段么?
这东西我刚做完,只要在Servlet里加了就行,所有格式的文件,全以下载形式存。
Go 旅城通票 2013-03-01
  • 打赏
  • 举报
回复
js做不了这个,下载文件是打开还是保存由浏览器和用户控制 一定要保存而不是浏览器中打开需要服务器设置Content-Disposition响应头来实现
sunji12 2013-03-01
  • 打赏
  • 举报
回复
引用 2 楼 dongdong406 的回复:
要就在后台返回值的servlet里加上 response.addHeader("Content-Disposition","attachment;filename=" + fileurl); 这个就可以了
请问是在JS文件的AJAX中添加这段么?
泰坦小毛驴 2013-03-01
  • 打赏
  • 举报
回复
要就在后台返回值的servlet里加上 response.addHeader("Content-Disposition","attachment;filename=" + fileurl); 这个就可以了
sui2000 2013-03-01
  • 打赏
  • 举报
回复
不想让用户直接在IE中打开已知类型的文件,比如Word,而希望能直接下载,这时候可用下面代码来替换Response.Redirect Response.ContentType = "application/octet-stream"; Response.AddHeader("Content-Disposition", "attachment;FileName="+YourFileName); Response.BinaryWrite((byte[])YourFileData.Rows[0]["AttachmentContent"]); Response.End();

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧