`

Ext 实现文件下载(Servlet后台)

    博客分类:
  • Ajax
阅读更多

        在Ext中直接实现文件的下载是比较困难的,最后通过模拟Form表单的提交来实现文件的下载。

        1、首先是客户端:

<a href="javascript:void(0)" type="test" style="color:blue;text-decoration:underline">下载</a>

        这段代码是放入在一个Ext.XTemplate中的。

        2、捕捉上面链接里面的"click"事件,然后进行处理:

onClick : function(e){
	var href = e.getTarget('a', 4, true);
	if(href){
	       var type = href.dom.type;
	       if (!Ext.fly('frmDummy')){    
	                 var frm = document.createElement('form');    
		 frm.id = 'frmDummy';    
		 frm.name = id;    
		 frm.className = 'x-hidden';
		 frm.action = 'get.file?type=' + type;
		 frm.method = 'post';
		 frm.target = '_blank';
		 document.body.appendChild(frm);    
	        }
		Ext.fly('frmDummy').dom.submit();
               }
    }

  从上面的代码可以看出,其本质是通过代码的方式创建一个"form"表单,设置相关属性后再提交。

          3、Servlet中的代码为:

                File source = new File("文件的路径!");
                resp.reset();
	resp.setContentType("application/force-download");
	resp.setHeader("Content-Disposition", "attachment; filename=\""+ source.getName() + "\"");
	resp.setHeader("Pragma", "No-cache"); 
	resp.setHeader("Cache-Control", "no-cache"); 
	ServletOutputStream sos = resp.getOutputStream();
	BufferedInputStream fin = new BufferedInputStream(new FileInputStream(source));
	byte[] content = new byte[1024];
	int length;
	while ((length = fin.read(content, 0, content.length)) != -1)             {
                         sos.write(content, 0, length);
	}
	fin.close();
	sos.flush();
	sos.close();

 

这样就可以实现Ext客户端下载服务器上面的某个文件了。

5
0
分享到:
评论
3 楼 geofferysun 2013-08-15  
一种思路
2 楼 suan2046 2012-04-25  
其实 window.open 打开就可以了
1 楼 流星爱帆 2011-09-28  
您好,我现在又关于 ext  下载的问题想请教您一下。。。希望您能联系我 
qq 419610096

谢谢了

相关推荐

    ext实现文件上传 后台java实现

    本文将详细介绍EXTJS如何实现文件上传,以及后台Java如何与之配合。 EXTJS中的文件上传主要依赖于`Ext.form.Panel`中的`FileField`组件,它模拟了一个HTML的`&lt;input type="file"&gt;`元素,允许用户选择本地文件。`...

    EXT树表分页(SERVLET)

    综上所述,EXT 3.0与Servlet结合实现的树表分页功能涉及前端的EXT组件配置、Store与Servlet的交互、服务器端的数据处理和JSON响应,以及部署运行等多个环节。通过这些技术,开发者可以创建出高效且用户体验良好的...

    Ext tree 结合dwr 调用后台数据

    具体实现上,你需要在后台配置DWR的`dwr.xml`文件,声明允许前端调用的Java方法。然后在前端,使用Ext JS的TreeStore,配置DWR的URL作为数据源。当树节点被展开时,TreeStore的`load`事件会被触发,从而执行DWR调用...

    ext json请求java后台返回集合数据

    标题中的“ext json请求java后台返回集合数据”指的是在Web开发中,前端EXTJS库通过JSON格式发送请求到Java后台,后台处理后返回一个集合(可能是列表或数组)的数据。EXTJS是一个用JavaScript编写的富客户端框架,...

    EXT远程文件管理系统

    EXT远程文件管理系统是一款基于Java Web技术构建的文件管理解决方案,它利用了EXTJS前端框架、Direct Web Remoting (DWR) 技术以及Java后端技术。EXTJS是一款功能强大的JavaScript库,专用于构建富互联网应用程序...

    java实现文件批量上传

    使用`Ext.Ajax.request`或EXT Direct,后台可以通过Servlet监听特定的URL来接收和处理上传请求。同时,前端可以通过回调函数来更新UI,显示上传进度或错误信息。 在提供的压缩包`upl`中,可能包含了以下文件: 1. ...

    Ext Gantt + jsp + servlet 工程实例

    这个工程实例提供了一个完整的参考,帮助开发者了解如何在实际项目中集成Ext Gantt,利用jsp和servlet实现前后端的数据交换和甘特图展示。通过学习这个实例,开发者可以深入理解Web应用程序的开发流程,并掌握Ext ...

    Ext Gantt + jsp + servlet 工程实例(EXT 甘特图实例)

    综上所述,"Ext Gantt + jsp + servlet 工程实例"是一个结合了前端高级图表库和后端Java技术的项目管理解决方案,它通过JSP和Servlet实现了前后端数据的交互,为用户提供了一个直观、高效的甘特图界面来跟踪和管理...

    servlet jsp Orcale Tomcat Ext整合

    5. **使用Ext**:构建前端UI,定义组件,设置数据源,实现与后台的Ajax通信。 6. **部署应用**:将Servlet、JSP和相关的静态资源打包成WAR文件,部署到Tomcat中。 7. **测试与调试**:确保所有功能正常工作,优化...

    一个以strut2+ext为结构的后台模板

    同时,EXT还支持数据绑定和远程数据交互,可以与后台的Struts2框架无缝对接,实现数据的动态加载和实时更新。 在这个“Strut2+EXT”后台模板中,我们可以预见到以下关键组成部分: 1. **Action**: 作为业务逻辑的...

    文件批量上传组件(Ext3.3和swfupload)

    这意味着组件的后台处理可能基于Java,通过Servlet来接收和处理上传的文件。 为了运行这个组件,你需要在本地安装Tomcat服务器,然后按照一定的步骤部署提供的应用。具体操作可能包括将解压后的文件复制到Tomcat的...

    毕设课设-java共享网盘jsp+servlet文件管理系统.zip

    在这个文件管理系统中,JSP主要负责展示用户界面,接收用户的操作请求,而Servlet则在后台处理这些请求,完成文件的读写、权限验证等核心功能。 系统的核心架构基于MVC(Model-View-Controller)模式。Model层负责...

    Ext动态树的生成,后台是JSP

    Ext动态树通常用于表示文件系统、组织结构或其他具有层级关系的数据。 1. **Ext TreePanel基本结构** 创建一个树面板,需要定义`xtype: 'treepanel'`,并配置`store`和`root`。`store`是数据源,`root`是树的根...

    基于Tomcat7、Java、Ext、WebSocket的聊天室

    在这个聊天室中,Ext可能被用于构建用户界面,如聊天窗口、用户列表、消息输入框等,通过Ajax与后台Java服务进行通信,实现实时的UI更新。 **WebSocket**: WebSocket是HTML5引入的一种新的网络协议,它在TCP连接的...

    oa.rar_ext_ext java oa_ext oa_ext tree_java ext tree

    3. 实现EXT与SSH2的交互:编写Servlet或Controller来处理EXT的AJAX请求,返回JSON格式的数据,供EXT Tree使用。 4. 数据加载和异步更新:使用EXT的Ajax请求和SSH2的后台接口进行数据交互,实现实时加载和更新树节点...

    jsp实现文件上传和下载 及留言板功能(代码及说明).pdf

    文件下载通常通过创建一个Servlet或JSP页面来实现,该页面能够根据URL请求提供文件内容。服务器端需要设置合适的响应头,如Content-Type和Content-Disposition,以指示浏览器如何处理响应的数据。例如,设置`...

    extjs后台程序

    5. **Servlet或Spring MVC**:Java Web实现这部分可能涉及到Servlet或者Spring MVC框架。Servlet是Java的原生HTTP处理器,Spring MVC是更高级的MVC模式实现,提供更优雅的控制层设计。 6. **文件上传**:图片上传...

    ext-3.2.1 demo项目

    1. **WEB-INF**:这是Web应用的标准目录,通常包含`web.xml`配置文件,定义了应用的部署描述符,以及Servlet和Filter等的配置。 2. **js**:存放EXT-3.2.1的JavaScript文件,包括EXT库的核心文件和示例中的自定义...

    EXT系统中Excel数据导入的设计和实现

    2. **提交数据至后端**:接着,将从Excel中提取的数据提交至后台Servlet。 3. **数据处理与存储**:最后,由后端JavaBean对提交的数据进行处理,并将其添加到数据库中。 这部分的关键代码示例如下: ```java // ...

    ext_upload_JSP源码_

    【标题】"ext_upload_JSP源码_" 是一个与JSP和ExtJS上传功能相关的项目,其中"upload the uploader"可能指的是实现了一个基于ExtJS的文件上传组件或系统。这个项目可能包含了一套完整的JSP页面、后台处理逻辑以及...

Global site tag (gtag.js) - Google Analytics