extjs文件上传
2015-08-20 17:07
525 查看
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ChiangFai/article/details/84738400
EXT学习教程:http://www.cnblogs.com/iamlilinfeng/category/385121.html
Ext文件上传:
例子用到的jar:
1.upload.js
/* case of upload */ Ext.onReady(function(){ //初始化标签中的Ext:Qtip属性。 Ext.QuickTips.init(); Ext.form.Field.prototype.msgTarget = 'side'; /* var imageBox = new Ext.BoxComponent({ autoEl:{ //style: 'width:150px;height:150px;margin:0px auto;border:1px solid #ccc; text-align:center;padding-top:20px;margin-bottom:10px', style:'width:150px;height:150px;border:1px solid #ccc;text-align:center', tag:'div', id:'showImage' }, width:333, height:277 });*/ var upload_form = new Ext.form.FormPanel({ title: '', baseCls:'x-plain', labelWidth:70, labelHeight:150, fileUpload:true, defaultType : 'textfield', items:[{ xtype:'textfield', fieldLabel:'select file', name:'userfile', id:'userfile', inputType:'file', anchor:'95%' }] }); var win_upload = new Ext.Window({ title:'Upload :', width:444, height:140, bodyStyle : 'padding:10px 10px 10px 10px;', resizable:true, modal:true, closable:true, maximizable:true, minimizable:true, buttonAlign:'right', items:[upload_form], buttons:[{ text:'reset', handler:function(){ upload_form.getForm().reset(); } },{ text:'upload', handler:function(){ if(upload_form.getForm().isValid()){ if(Ext.getCmp('userfile').getValue() == ''){ Ext.Msg.alert('Warm :','please choose file!'); return; } /* Ext.Msg.show({ title:'waiting:', waitMsg:'uploading...', progressText:'', width:300, progress : true, closable : false, animEl : 'loding' });*/ upload_form.getForm().submit({ method:'POST', url:'uploadServlet', waitMsg:'uploading...', success:function(upload_form,action){ //var path = Ext.getCmp('userfile').getValue(); //document.getElementById('showImage').innerHTML = '<img src="'+path+'" />'; Ext.Msg.alert('success:','upload success!'); //win_upload.hide(); }, failure:function(upload_form,action){ Ext.Msg.alert('failure:','upload failure!'); } }); } } }] }); win_upload.show(); });
2.uploadServlet.java
package servlet; import java.io.File; import java.io.IOException; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.FileItemFactory; import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.servlet.ServletFileUpload; import org.json.JSONObject; /** * Servlet implementation class uploadServlet */ public class uploadServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public uploadServlet() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub response.setContentType("text/html"); response.setCharacterEncoding("UTF-8"); try { FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload fileUpload = new ServletFileUpload(factory); fileUpload.setHeaderEncoding("UTF-8");// 解决中文名乱码 List<FileItem> fileItems = fileUpload.parseRequest(request); for(FileItem item:fileItems){//忽略其他表单信息 if (!item.isFormField()) { String name = ""; String BrowserType = request.getHeader("User-Agent").toLowerCase().toString(); //浏览器判断 if (BrowserType.indexOf("firefox")>0 ||BrowserType.indexOf("chrome")>0) { name = item.getName(); }else{ name = item.getName(); String [] names = name.split("\\\\");// (IE浏览器绝对路径,split获取文件名及后缀) regex为\\\\,因为在java中\\表示一个\,而regex中\\也表示\,所以当\\\\解析成regex的时候为\\。 name = names[names.length-1]; } File uploadFile = new File("E:\\",name); item.write(uploadFile); } } // JSONObject obj = new JSONObject(); obj.put("success","true"); response.getWriter().print(obj.toString()); } catch (Exception e) { e.printStackTrace(); // TODO: handle exception } } }
相关文章推荐
- Extjs实现文件上传
- extjs中form.panel中包含文本框与文件上传时,提交方式
- Extjs+C# 文件上传
- ExtJS 文件上传 网络资料 1
- Extjs 扩展Htmleditor,支持 图片上传 文件上传 插入flash 插入多媒体 插入层 插入横线等功能(2)
- jsp+Extjs实现动态显示文件上传进度
- Asp.net的FileUpload控件的文件上传与Extjs文件上传的简单Demo
- 利用jsp+Extjs实现动态显示文件上传进度
- ExtJS 多文件上传
- extjs实现文件上传
- Extjs 文件上传的实现方法
- Extjs 扩展Htmleditor,支持 图片上传 文件上传 插入flash 插入多媒体 插入层 插入横线等功能
- Extjs上传图片IE提示下载json文件的解决方案
- ExtJs学习篇---文件上传篇
- ExtJS+Jquery实现文件上传
- ExtJs文件上传
- 实用ExtJS教程100例-009:ExtJS Form无刷新文件上传
- Extjs 文件上传
- EXTjs 同时支持文件上传和图片上传的htmleditor
- ExtJS4学习---上传文件(upload)