js下载文件 java_[Java教程]使用js实现点击按钮下载文件

[Java教程]使用js实现点击按钮下载文件

0 2016-11-11 19:02:54

有时候我们在网页上需要增加一个下载按钮,让用户能够点击后下载页面上的资料,那么怎样才能实现功能呢?这里有两种方法:

现在需要在页面上添加一个下载按钮,点击按钮下载文件。

bc91bb04e6e9c61e24c974e4440db8f2.gif

题外话,这个下载图标是引用的 font-awesome上面的。使用时,

首先将 font-awesome 整个文件夹下载下来,利用bower或者是自己去官网上面下载都行。

将整个文件夹放在项目文件中之后,在页面上面引入css文件

1

在页面上可以开始使用所需要的图标了

1

1.下载项目中的文件

如果要下载的是一个excel文件模板,可以先将该文件放在项目文件夹下面,然后在页面下载按钮上加上onclick事件:

1

这样在点击图标之后,文件就会自动下载了。

2.发送请求地址下载文件JQuery的ajax函数的返回类型只有

1)get请求1 $('.download').click(function () { 2 var tt = new Date().getTime(); 3 var url = 'http://192.168.1.231:8080/91survey/ws/excel/download'; 4 5 /** 6 * 使用form表单来发送请求 7 * 1.method属性用来设置请求的类型——post还是get 8 * 2.action属性用来设置请求路径。 9 * 10 */11 var form=$("

");//定义一个form表单12 form.attr("style","display:none");13 form.attr("target","");14 form.attr("method","get"); //请求类型15 form.attr("action",url); //请求地址16 $("body").append(form);//将表单放置在web中17 18   /**19 * input标签主要用来传递请求所需的参数:20 *21 * 1.name属性是传递请求所需的参数名.22 * 2.value属性是传递请求所需的参数值.23 *24 * 3.当为get类型时,请求所需的参数用input标签来传递,直接写在URL后面是无效的。25 * 4.当为post类型时,queryString参数直接写在URL后面,formData参数则用input标签传递26 * 有多少数据则使用多少input标签27 *28    */29 var input1=$("");30 input1.attr("type","hidden");31 input1.attr("name","tt");32 input1.attr("value",tt);33 form.append(input1);34 35 var input2=$("");36 input2.attr("type","hidden");37 input2.attr("name","companyId");38 input2.attr("value",companyId);39 form.append(input2);40 41 form.submit();//表单提交42 })

2)post请求1 $('.download').click(function(){ 2 var tt =newDate().getTime(); 3 var url = restUrl +'/excel/download?userId='+ userId; 4 var form=$("

");//定义一个form表单 5 form.attr("style","display:none"); 6 form.attr("target",""); 7 form.attr("method","post");//请求类型 8 form.attr("action",url);//请求地址 9 $("body").append(form);//将表单放置在web中10 11 var input1=$("");12 input1.attr("type","hidden");13 input1.attr("name","tt");14 input1.attr("value",tt);15 form.append(input1);16 17 var input2=$("");18 input2.attr("type","hidden");19 input2.attr("name","companyId");20 input2.attr("value",companyId);21 form.append(input2);22 form.submit();//表单提交23 });

完成后,在页面上面点击下载图标,文件就会自动下载了。

来自为知笔记(Wiz)

本文网址:http://www.shaoqun.com/a/264468.html

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:admin@shaoqun.com。

JS

0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/452818.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

underscore.js源码研究(5)

概述 很早就想研究underscore源码了,虽然underscore.js这个库有些过时了,但是我还是想学习一下库的架构,函数式编程以及常用方法的编写这些方面的内容,又恰好没什么其它要研究的了,所以就了结研究underscore源码这一心…

人心散了、项目必然要败

最近接手一个项目,是从半路上接过来的。按照常理,只要脑子没被驴踢,是不会接人家的烂摊子的。我之所以接这个项目,一方面是因为这个项目中的开发人员是我部门的人(本人是部门主管),另一方面是因…

国家自科委管文科学部认定的国内30种重要期刊

国家自科委管文科学部认定的国内30种重要期刊 A类刊物(22种) 1、管理科学学报(双月刊) 2、系统工程理论与实践(月刊) 3、管理世界(月刊) 4、数量经济技术经济研究(月刊&a…

面向对象的四个要点

•把对象(object)作为融合了数据及在数据上的操作行为的统一的软件构件•把所有对象都划分成类(class)。•按照父类与子类的关系,把若干个相关类组成一个层次结构的系统。•对象彼此间仅能通过发送消息互相联系。

Django二次开发对接FastDFS

1.自定义文件存储器类 配置文件settings中加入如下配置 # 设置Django的文件存储类、(名字固定) DEFAULT_FILE_STORAGEutils.fdfs.storage.FDFSStorage# 设置fdfs使用的client.conf文件路径(名字自己定义) FDFS_CLIENT_CONF./util…

微信支付 java 集成案例_Spring Boot项目中集成微信支付v3

1. 前言最近忙的一批,难得今天有喘气的机会就赶紧把最近在开发中的一些成果分享出来。前几日分享了自己写的一个微信支付V3的开发包payment-spring-boot-starter,就忙里偷闲完善了一波。期间给微信支付提交了6个BUG,跟微信支付的产品沟通了好…

单挑力扣(LeetCode)SQL题:1308. 不同性别每日分数总计

相信很多学习SQL的小伙伴都面临这样的困境,学习完书本上的SQL基础知识后,一方面想测试下自己的水平;另一方面想进一步提升,却不知道方法。 其实,对于技能型知识,我的观点一贯都是:多练习、多实…

需求与范围驾驭深刻反省总结

每天都在讲范围、说需求,真的到了想整理出点什么的时候,却一下子不知从何说起。也许是熟悉麻痹症吧。根据我的破经历,在需求方面有几个是最搞人的,只要我们方法得当,虽然不一定能够完全驾驭,但起码可以改善…

16. vim

vim编辑器是vi的升级版本,带颜色显示安装yum install -y vim-enhanced将passwd文件复制到其他目录下,vim后没有颜色 一般模式上下左右方向键或kjhl四个键移动光标n方向键 向特定方向移动n位ctrl b 或 pageup 向上翻页ctrl f 或 pagedown 向下翻页0或sh…

软件生命周期

软件生命周期由软件定义、软件开发和运行维护 ( 也称为软件维护 )3 个时期组成,每个时期又进一步划分成若干个 阶段 。

Jmeter(三)_配置元件

HTTP Cookie Manager 用来存储浏览器产生的用户信息 Clear Cookies each Iteration:每次迭代请求,清空cookies,GUI中定义的任何cookie都不会被清除。Implementation:默认HC4CookieHandlerCookie Policy:将用于管理Cook…

山寨版项目管理经验小结

不知道这个标题是否合适。 忙了互联网,再忙作软件,今天好不容易闲下来,写点最近总结的一些经验。最近在和北京几家大的软件公司的合作过程中,也许我所看到的,可能不代表全部,但是值得从事这个行业的人重视。…

Django项目--首页静态化

0前言 1.使用Celery生成静态页面 task.py中新增任务函数generate_static_index_html(),任务函数生成静态页面。 app.task def generate_static_index_html():产生首页静态页面# 获取商品的种类信息types GoodsType.objects.all()# 获取首页轮播商品信息goods_bann…

C语言指针,申请、释放内存,线程

2019独角兽企业重金招聘Python工程师标准>>> 1:普通情况下,C语言的指针是使用虚拟地址,并非物理地址; 2:C语言mallco函数可以根据输入的值,申请一块连续的内存;free(*p&a…

Docker在Ubuntu16.04上安装

转自:http://blog.51cto.com/collen7788/2047800 1、添加Docker源 sudo apt-get update 2、增加CA证书 sudo apt-get install apt-transport-https ca-certificates 3、添加GPG Key(一种加密手段) sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:…

java伪协议_通过伪协议解决父页面与iframe页面通信的问题

我们经常会有父页面与iframe页面的操作,比如这个iframe里面的内容是js写的。如以下代码var iframe document.getElementById("iframe"),doc iframe.contentWindow.document;doc.open();doc.write("---------something------");doc.close();以…

Django项目--静态首页的数据缓存(设置、获取、更新)

0 前言 将处理计算的结果先临时保存起来,下次使用的时候可以先直接使用,如果没有这个备份的数据,重新进行计算处理。 将缓存数据保存在内存中 (本项目中保存在redis中) cache注意事项: 1)如果…

关于腾讯算法大赛

腾讯算法大赛 本文参考于我协会前会长吴师兄的文档 腾讯社交广告高校算法大赛是面向高校大学生的算法大赛,作为腾讯核心的广告业务单元,腾讯社交广告通过对海量社交数据进行深入分析,构建多样广告场景,与8亿用户连接对话。在大数据…

列表推导式

#麻烦办法new_lst []for i in range(10): new_lst.append(i**2)print(new_lst)#简单办法print([i**2 for i in range(10)])# 小题下面列表中取余list_a [1,2,3,-5,20,-7]print([i%2 for i in list_a])# 30以内所有能被3整除的数print([won for won in range(30) if won%3 …