jsp下载文件demo
jsp下载文件demo
1.前台
2.后台
1.前台
http://www.javaeye.com/topic/446631
为什么要选择js方式下载文件?因为下载地址需要根据你的点击,及选择来动态计算的。
如果直接 ajax 请求下载地址,总会出现些问题...具体表现为文件直接以字符串形式返回。
首先方案一,使用window.open(url),这样会有一个问题,因为会打开一个窗口!虽然这个窗口会在点击下载时关闭,但看起来确实不美观!
方案二,使用Iframe ,具体见代码:
- function downloadFile(url){
- var elemIF = document.createElement("iframe");
- elemIF.src = url;
- elemIF.style.display = "none";
- document.body.appendChild(elemIF);
- }
完美解决!
(PS:发现构造语言来描述明白一件事真是个累人的活啊,看不懂,轻拍)
- Ext.Ajax.request({
- url:'getPath.action',
- success:function(res){
- var obj = Ext.decode(res.responseText);
- //console.log(obj);//可以到火狐的firebug下面看看obj里面的结构
- //加入getPath返回的json为{'path':'upload/abc.jpg'}
- window.location.href = obj.path;//这样就可以弹出下载对话框了
- }
- });
只要链接的文件存在,就会给出弹出保存对话框.
<a href="test.rmvb">下载此文件 </a>
如果你一定要用JS的话,有两种办法,推荐第一种:
办法1: //好处就是,指定下载的文件如果不存在,浏览器地址也不会有什么变化.反之则提示保存.
HTML code <a href="#" onClick="download()">下载文件</a> <iframe id="downloadURL" height="0" width="0" src=""></iframe> <script language="javascript"> function download(){ document.getElementById("downloadURL").src="test.rmvb"; } </script>
办法2: //缺点就是,指定下载的文件如果不存在,浏览器地址会变化.
HTML code <a href="#" onClick="download(this)">下载文件</a> <script language="javascript"> function download(obj){ obj.href="test.rmvb"; } </script>
2.后台程序
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?