简单页面下载实例
2015-06-05 17:14
381 查看
前几日搞的下载模块,写了一中比较轻松的下载方法(弊端较多,慎用),分享一下
大致思路就是:
页面一个下载链接(再不知道下载文件类型的情况下)--------------------->>点击下载---------(通过ajax判断下载类型)----------->下载成功
注意:下载文件命名要与链接一直,否则无法识别
下面为部分代码:
逻辑思路:1、先获取每个类型的链接id
2、在ajax中判断(若是需要的下载的类型flag=1,不是count++,id查找结束后,判断count与flag的值,注意:ajax设置为同步加载)
3、打开下载链接
设置需要下载的文件类型:
方法实现简单,但是缺点很多。例如在ajax中判断时会多次循环,原因是查找每个id所致,并且这种方式对页面的消耗也过大,所以不建议采用,若是仅仅是一两种,并且是简单的下载(无需经过后台处理)可使用这种方式。
需要下载文件建议还是通过后台处理,或是将路径放置在文件或数据库中,这样可以保证页面安全,并且对展现页面效率也有提高。
转载请注明地址
大致思路就是:
页面一个下载链接(再不知道下载文件类型的情况下)--------------------->>点击下载---------(通过ajax判断下载类型)----------->下载成功
注意:下载文件命名要与链接一直,否则无法识别
下面为部分代码:
逻辑思路:1、先获取每个类型的链接id
2、在ajax中判断(若是需要的下载的类型flag=1,不是count++,id查找结束后,判断count与flag的值,注意:ajax设置为同步加载)
3、打开下载链接
<script type="text/javascript"> var url; var flag = 0; var count = 0; var urldown = null; function urlIsTrue(){ $("a[id^='id_'").each(function(){ var id = $(this).attr('id'); url = document.getElementById(id); $.ajax({ url:url, async:false, type:'HEAD', error: function() { count ++; }, success: function() { flag = 1; urldown = url; } }); }); if(flag == 1){ window.open(urldown); }else if(count>-1){ alert("暂无下载文件"); } } </script><span style="font-family: Arial, Helvetica, sans-serif;"> </span>
设置需要下载的文件类型:
<div align="right" id="group"> <a id="id_1" href="<%=path %>/download/${commonMsgModel.title}.doc" style="display: none"/> <a id="id_2" href="<%=path %>/download/${commonMsgModel.title}.jpg" style="display: none"/> <a id="id_3" href="<%=path %>/download/${commonMsgModel.title}.zip" style="display: none"/> <a id="id_4" href="<%=path %>/download/${commonMsgModel.title}.rar" style="display: none"/> <a id="id_5" href="<%=path %>/download/${commonMsgModel.title}.png" style="display: none"/> <a id="id_6" href="<%=path %>/download/${commonMsgModel.title}.pdf" style="display: none"/> <a id="id_7" href="<%=path %>/download/${commonMsgModel.title}.xls" style="display: none"/> <a id="download" href="javascript:void(0);" onclick="urlIsTrue()" class="css_btn_class" style="margin-right: 30px">下载附件</a></div> </div>
方法实现简单,但是缺点很多。例如在ajax中判断时会多次循环,原因是查找每个id所致,并且这种方式对页面的消耗也过大,所以不建议采用,若是仅仅是一两种,并且是简单的下载(无需经过后台处理)可使用这种方式。
需要下载文件建议还是通过后台处理,或是将路径放置在文件或数据库中,这样可以保证页面安全,并且对展现页面效率也有提高。
转载请注明地址
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android学习笔记(二九):嵌入浏览器
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- Extjs4.0 最新最全视频教程
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- Javascript中toFixed方法的改进
- PropertyChangeListener简单理解
- JavaScript演示排序算法
- JSP/PHP基于Ajax的分页功能实现