使用ExtJs实现文件下载
2024-10-19 07:40:51
文件下载,是不可以直接通过Ext.Ajax.Request来实现的。一般的,可以通过创建一个隐藏的form表单来实现。具体代码以及代码注释如下:
if (!Ext.fly('downForm')){ //如果不存在一个id为"downForm"的form表单,则执行下面的操作 //下面代码是在创建一个表单以及添加相应的一些属性
var downForm = document.createElement('form'); //创建一个form表单
downForm .id = 'downForm'; //该表单的id为downForm
downForm .name = 'downForm'; //该表单的name属性为downForm
downForm .className = 'x-hidden'; //该表单为隐藏的
downForm .action = 'download.action'; //表单的提交地址
downForm .method = 'post'; //表单的提交方法 //下面代码是下载文件需要传递附加参数时才写的
//其原理很简单,就是添加input,然后再添加name和value即可
//其中,name属性时参数名称,value是参数的值
var data = document.createElement('input'); //创建一个input节点
data.type = 'hidden'; //隐藏域
data.name = 'data'; //需要传递给后台的参数名
data.value = "666"; //参数值 downForm.appendChild(data); //将input节点追加到form表单里面
document.body.appendChild(downForm ); //讲form表单追加到body里面
}
Ext.fly('downForm').dom.submit(); //调用form表单的submit方法,提交表单,从而开始下载文件 //因为表单已经提交了,文件也开始下载了,所以过河拆桥,把表单移除掉
//如果存在id为downForm的表单,则将它移除掉
if (Ext.fly('downForm')){
document.body.removeChild(downForm );
}
最新文章
- [Django]用户权限学习系列之Permission权限基本操作指令
- ButterKnife基本使用
- K2新网站(官网和BPM社区)正式上线了
- struct大小
- python_way ,自定义session
- mr的logs的查看
- POJ 1723
- vim - 查找替换
- 【HDOJ】4579 Random Walk
- Linux 内核开发 - 进程空间
- MRD-5012型RS232,RS485有源隔离中继模块,采用磁隔离技术,金升阳DC-DC隔离电源,纯硬件自适应方向,速度高达256000bps
- AndroidUI 视图动画-混合动画效果 (AnimationSet)/动画效果监听
- 好的 小图标 html
- Web开发安全小贴士
- 面向对象编程 —— java实现函数求导
- sqlzoo:using group by and having
- 2016 西普杯丶天津CTF预选赛(3/6)
- 【转】HashMap集合中key只能为引用数据类型,不能为基本类型
- JAVA之Mybatis基础入门二 -- 新增、更新、删除
- python3字典练习(重要)