ExtJs学习篇---文件上传篇
来源:互联网 发布:幼儿园美工作品袋 编辑:程序博客网 时间:2024/06/05 13:30
前段时间遇到了点问题,公司采用Spring+Hibernate+dwr+extjs这样的结构进行了开发,由于我刚开始没有怎么进出过这中设计模式,基本上所有的页面都是边学边问才做出来的,虽然里面很多的东西都是封装好了,直接拿来就可以用。没有进行过封装的Ext是不能直接使用我们底层写好的的dwr方法的。
在一个页面的设计中需要用到文件的上传,如果不是用EXt进行页面的开发的话我也不会来学习怎么用!因为他跟以前我写的那些还有那么点点的差别。下面我们就用代码说话嘛!
做了一个简单的例子。只是实现了这个功能而已!
页面的代码:
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gbk"> <title>04.form</title> <link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css" /> <script type="text/javascript" src="../../adapter/ext/ext-base.js"></script> <script type="text/javascript" src="../../ext-all.js"></script> <script type="text/javascript">Ext.onReady(function(){ var form = new Ext.form.FormPanel({ labelAlign: 'right', title: 'form', labelWidth: 50, frame:true, fileUpload: true, url: '09_01.jsp', width: 280, items: [{ xtype: 'textfield', fieldLabel: '文本框', name: 'file', inputType: 'file' }], buttons: [{ text: '提交', handler: function() { form.getForm().submit({ success: function(form, action){ Ext.Msg.alert('信息', action.result.msg); }, failure: function(){ Ext.Msg.alert('错误', '失败'); } }); } }] }); form.render("form");}); </script> </head> <body> <script type="text/javascript" src="../examples.js"></script> <div id="form" style="margin:100px;"></div> </body></html>后台的代码:
<%@ page import="org.apache.commons.fileupload.*" %><%@ page import="java.util.List" %><%@ page import="java.util.Iterator" %><%@ page import="java.io.File" %><%@ page contentType="text/html;charset=utf-8"%><% request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); String temp=getServletContext().getRealPath("/")+"temp"; //临时目录 String loadpath=getServletContext().getRealPath("/")+"dir"; //上传文件存放目录 DiskFileUpload fu = new DiskFileUpload(); fu.setSizeMax(1*1024*1024); // 设置允许用户上传文件大小,单位:字节 fu.setSizeThreshold(4096); // 设置最多只允许在内存中存储的数据,单位:字节 fu.setRepositoryPath(temp); // 设置一旦文件大小超过getSizeThreshold()的值时数据存放在硬盘的目录 //开始读取上传信息 List fileItems = fu.parseRequest(request); Iterator iter = fileItems.iterator(); // 依次处理每个上传的文件 while (iter.hasNext()) { FileItem item = (FileItem) iter.next();// 忽略其他不是文件域的所有表单信息 if (!item.isFormField()) { String name = item.getName();//获取上传文件名,包括路径 name = name.substring(name.lastIndexOf("\\")+1);//从全路径中提取文件名 // out.println(name); long size = item.getSize(); if ((name == null || name.equals("")) && size == 0) continue; System.out.println(item.getName() + " Size=" + item.getSize() + "<br>");//输出上传文件信息 //File fNew= new File(loadpath, name); //item.write(fNew); } } response.getWriter().print("{success:true,msg:'成功'}");%>
效果图:
图一:为选择文件之前
图二:选中文件过后
- ExtJs学习篇---文件上传篇
- ExtJs学习篇---使用Extjs 加DWR 实现文件上传
- 【ExtJs】ExtJs的文件上传
- Extjs 文件上传
- extjs 上传文件 fileUpload
- ExtJs + Struts2文件上传
- extjs 上传文件 fileUpload
- extjs 文件上传
- Extjs实现文件上传
- extjs实现文件上传
- Extjs文件上传例子
- Extjs文件上传
- Extjs文件上传
- extjs文件上传
- Extjs 实现文件上传
- extjs文件上传
- extjs的文件上传
- ExtJS:文件上传实例
- 集合遍历时删除和增加元素
- 变量和内存分配
- 13.解释器模式
- zend studio 9 字体,颜色,快捷键等相关设置
- C语言之正确使用const
- ExtJs学习篇---文件上传篇
- YII中的数据库基本操作语句
- Linux中Kill进程的N种方法
- cookie不能写入的问题
- 修改MSCOMM32.OCX突破16个串口限制
- C++ const 指针
- NFC协议学习分享
- 用Linux系统做路由器
- Android中Bitmap,byte[],Drawable相互转化