- 浏览: 182308 次
- 性别:
- 来自: 广州
-
文章分类
最新评论
-
yu505656166:
这个问题是怎么解决的啊?
spring mail 发送邮件,没有主题,没有收件人,显示乱码问题 -
dextersmake:
我的配置和你的差不多,调了有一些效果,但是还不是很满意。
YARN内存使用优化配置 -
kjkhi:
dxb350352 写道怎么用啊,运行完了也不知道取值的方法 ...
Apache POI组件使用eventusermodel模式读取Excel文档内容 -
dxb350352:
怎么用啊,运行完了也不知道取值的方法
Apache POI组件使用eventusermodel模式读取Excel文档内容 -
wanshijian:
相同问题,解决了!
使用cxf的wsdl2java是遇到的问题
项目需求:使用Ext的GridPanel实现文件下载功能!如
首先,在gridpanel中加入链接style的button。在gridpanel的ColumnModel中
加入button style。
其下载任务,都在downloadfile(v)这个方法中实现,代码
在downloadfile.jsp页面中,使用jspSmartUpload提供的API实现下载。
ps:jspSmartUpload在默认的情况,并不支持下载文件名为中文的。这里我们需要做一些编码的转换,在SmartUpload中加入toUtf8String(String)这个方法,如
修改SmartUpload中downloadFile(String s, String s1, String s2, int i)这个方法,如
这样,基本上能够实现对中文名文件的下载!
![](http://dl.iteye.com/upload/picture/pic/78068/fcc9a9e2-d4be-3961-a45b-a701bc00a1fa.jpg)
首先,在gridpanel中加入链接style的button。在gridpanel的ColumnModel中
renderer:function(){return "<p><button type='submit' class='link' onclick='downloadfile("+v+")'><span>下载</span></button></p>"}
加入button style。
button.link { font-family: "Verdana" sans-serif; font-size: 1em; text-align: left; color: blue; background: none; margin: 0; padding: 0; border: none; cursor: pointer; }
其下载任务,都在downloadfile(v)这个方法中实现,代码
downloadfile = function(v){ Ext.Ajax.request({ url:"getFilePath_fileIO", params:{"fileId":v}, success:function(response){ var fileJson = Ext.decode(response.responseText); var filepath = encodeURIComponent(fileJson.filepath); var filename = encodeURIComponent(fileJson.filename); window.open("downloadfile.jsp?filepath="+filepath+"&filename="+filename,"_self"); }, failure:function(response){ } }); }
在downloadfile.jsp页面中,使用jspSmartUpload提供的API实现下载。
String filepath = request.getParameter("filepath"); String filename = request.getParameter("filename"); filepath = filepath.replace("/","\\"); SmartUpload su = new SmartUpload(); //初始化 su.init(config); su.service(request,response); //禁止浏览器自动打开文件 su.setContentDisposition(null); //下载文件 String path = new String(filepath.getBytes("ISO8859-1"),"UTF-8"); String name = new String(filename.getBytes("ISO8859-1"),"UTF-8"); // System.out.print(name); su.downloadFile(path,null,name); out.clear(); out = pageContext.pushBody();
ps:jspSmartUpload在默认的情况,并不支持下载文件名为中文的。这里我们需要做一些编码的转换,在SmartUpload中加入toUtf8String(String)这个方法,如
public static String toUtf8String(String s) { StringBuffer sb = new StringBuffer(); for (int i = 0; i < s.length(); i++) { char c = s.charAt(i); if ((c >= 0) && (c <= 'ÿ')) { sb.append(c); } else { byte[] b; try { b = Character.toString(c).getBytes("utf-8"); } catch (Exception ex) { byte[] b; System.out.println(ex); b = new byte[0]; } for (int j = 0; j < b.length; j++) { int k = b[j]; if (k < 0) k += 256; sb.append("%" + Integer.toHexString(k).toUpperCase()); } } } return sb.toString(); }
修改SmartUpload中downloadFile(String s, String s1, String s2, int i)这个方法,如
public void downloadFile(String s, String s1, String s2, int i) throws ServletException, IOException, SmartUploadException { if (s == null) throw new IllegalArgumentException("File '" + s + "' not found (1040)."); if (s.equals("")) throw new IllegalArgumentException("File '" + s + "' not found (1040)."); if ((!isVirtual(s)) && (this.m_denyPhysicalPath)) throw new SecurityException("Physical path is denied (1035)."); if (isVirtual(s)) s = this.m_application.getRealPath(s); java.io.File file = new java.io.File(s); FileInputStream fileinputstream = new FileInputStream(file); long l = file.length(); boolean flag = false; int k = 0; byte[] abyte0 = new byte[i]; if (s1 == null) this.m_response.setContentType("application/x-msdownload"); else if (s1.length() == 0) this.m_response.setContentType("application/x-msdownload"); else this.m_response.setContentType(s1); this.m_response.setContentLength((int)l); this.m_contentDisposition = (this.m_contentDisposition != null ? this.m_contentDisposition : "attachment;"); if (s2 == null) this.m_response.setHeader("Content-Disposition", this.m_contentDisposition + " filename=" + toUtf8String(getFileName(s))); else if (s2.length() == 0) this.m_response.setHeader("Content-Disposition", this.m_contentDisposition); else this.m_response.setHeader("Content-Disposition", this.m_contentDisposition + " filename=" + toUtf8String(s2)); while (k < l) { int j = fileinputstream.read(abyte0, 0, i); k += j; this.m_response.getOutputStream().write(abyte0, 0, j); } fileinputstream.close(); }
这样,基本上能够实现对中文名文件的下载!
发表评论
-
大数据处理--倒排索引
2014-06-28 14:08 4356简介 倒排索引源 ... -
大数据处理--BitSet
2014-06-28 11:01 1214java.util.BitSet可以按位存储。计算机中一个字 ... -
大数据处理--BloomFilter
2014-06-28 10:58 883BloomFilter——大规 ... -
hadoop 2.x升级异常
2014-06-19 11:54 22461、通过FileSystem这个API去访问hdfs上面的 ... -
Windows 编译Hadoop的Eclipse插件
2013-07-24 00:53 0http://www.cnblogs.com/fly ... -
log4j指定配置文件路径
2013-07-09 11:15 1875在默认情况下 log4j 会从WEB-INF/cl ... -
使用CXF发布和调用webservice
2013-05-08 16:14 1364依赖的JAR cxf-2.2.10.jar je ... -
Filter、Servlet、Listener区别与联系
2013-04-10 17:41 4147J2EE开发中,经常会使用到Filter、Servlet、L ... -
Apache POI组件使用eventusermodel模式读取Excel文档内容
2013-03-18 17:39 9021package com.test; import ja ... -
CXF之JAX-WS(转)
2012-12-18 17:31 1961CXF详解二 CXF之JAX-WS JAX-WS规范是一组 ... -
分析tomcat假死现象的过程
2012-10-15 15:50 0前段时间在公司遇到一个tomcat运行一段时间后(半个月左右 ... -
spring mail 通过HTTP代理发送邮件
2012-09-24 16:22 6587spring框架中org.spr ... -
多线程实现发送邮件功能
2012-09-14 18:44 11115通过Internet发送邮件,可能会在网络传输上面使用较多的 ... -
使用Spring mail通过socks代理发送邮件
2012-09-14 18:25 7042Spring框架提供了JavaMailSender接口及其实 ... -
plupload 上传组件,后台用java实现
2012-09-06 17:21 11427Plupload 是一个Web浏览器上的界面友好的文件上传模 ... -
POI读取大数据量的Excel文件
2012-09-06 11:58 14959POI读取Excel文件有两种方式,一种是使用usermod ... -
UML类图
2012-08-02 16:35 2016UML类图关系大全 1、关联双向关联:C1-C2:指 ... -
使用cxf的wsdl2java是遇到的问题
2012-03-13 10:50 3802对与同一个wsdl文件,我尝试过使用axis2是可以正常转过来 ... -
spring mail 发送邮件,没有主题,没有收件人,显示乱码问题
2012-03-06 14:02 4624使用spring框架风中的javamail发送邮件,遇到了一些 ... -
J2EE使用ireport做导出PDF操作
2012-03-02 17:21 2627首先,在lib中,加入一下jar: jasperreport ...
相关推荐
2、有用jspSmartupload制作一个文件上传和下载的例子,其制作的例子能够上传到数据库中; 3、还用ExtJS制作的多文件同时上传的例子,后台也是用Servlet处理。 4、用Servlet要注意web.xml映射的配置。
ExtJS实现文件下载的方法 前台代码: Ext.get('outputuser').on('click', function(e){ Ext.MessageBox.confirm('提示','确定要导出用户吗?',function(btn){
extjs+swfupload实现多文件上传下载删除带进度条 可以实现多文件上传
网上有些这样的例子,但是下了几个都没有跑起来,哎,希望那些发文章的人要发就发全的,别发个半生不熟的。... 现在自己整理了一个Struts2+ExtJS2实现文异步文件上传,没法上传图片无法看到效果,直接上源码吧。
此压缩包中完全能实现的功能是在extjs中让本地照片预览,并且将地址传递给java后台,将图片文件以blob的形式存储到oracle数据库,并且可以默认将数据库中的数据第一次加载在预览框里(也就是从数据库中读出blob数据...
ExtJS原生多文件拖动上传组件 使用时修改包路径 1.多文件上传 2.支持拖动上传 3.支持图片压缩 4.支持图片合并 5.文件排序 可扩展实时图片预览 api //初始化画板 initCanvas //上传文件窗口 uploadWindow //初始化...
.net+Extjs 实现文件的上传下载,有详细文档说明和源代码
Extjs下 和 HTML下的文件下载的实现,主要用于“另存为”框框的弹出的实现,自己写的项目代码
Extjs3.3+swfUpload2.2 实现多文件上传组件 Extjs3.3+swfUpload2.2 实现多文件上传组件是一种基于 Extjs3.3 和 swfUpload2.2 的文件上传解决方案。该组件可以实现多文件上传,具有良好的用户体验和可扩展性。 多...
extjs中使用FusionChart举例
jSP+EXTJS实现upload UploadDialog
手把手教你实现EXTJS+DWR实现图片上传功能
此压缩包中完全能实现的功能是在extjs中让本地照片预览,并且将地址传递给java后台,将图片文件以blob的形式存储到oracle数据库,并且可以默认将数据库中的数据第一次加载在预览框里(也就是从数据库中读出blob数据...
Extjs+java+swf多文件上传进度条显示项目 采用了swf插件 后端使用java servlet 项目简单使用 页面美观,希望能多交流
Java+Extjs实现单文件上传
ExtJS验证文件上传类型,详细讲述ExtJS如何验证文件上传文件的类型!
Extjs的配置文件,直接将其复制到项目中即可,并附上示例JSP和js程序文件,简单易用,方便学习
Extjs分页使用java实现数据库数据查询.docx
ExtJS-3.4.0文档目录说明: ◊ adapter目录下是EXT的核心代码和底层库,包括jQuery、Prototype和YUI的适配器。 ◊ docs目录下是EXT的文档。 ◊ examples目录下是官方的演示示例。 ◊ pkgs目录下是EXT压缩后...
本例是用JSP+EXTJS+JSON+MYQL实现的树型结构,例子结构清晰,便于学习。