当前位置:编程学习 > JS >>

extjs 文件上传

功能要求:

在mastplan页面添加按钮,实现上传excel文件的功能,并在保存之前读取文件内容将其保存到数据库里面。

 

具体实现:

 

^_^ 先闪闪图片吧。

 
 

 

 
 

Jsp页面代码:

在tbar工具栏中添加一按钮: 单击此按钮,弹出一个上传文件的窗口

 

[java] 
,{id:"upload_excel",xtype: "button",cls:"x-btn-icon",icon:"/_static/icon/upload_excel.png",tooltip:"upload",scope:this,handler: function(){win_upload.show();}} 
 
 
var win_upload = new Ext.Window({ 
    title : 'UploadFile', 
    width :450, 
    height : 180, 
    modal : true, 
    x : 100, 
    y : 50, 
    layout : 'form', 
    autoScroll : true, 
    constrain : true, 
    bodyStyle : 'padding:10px 10px 10px 10px;', 
    items:form, 
    buttons : [{ 
        text : '確認上傳', 
      handler : function() { 
       if (form.form.isValid()) { 
        if(Ext.getCmp('userfile').getValue() == ''){ 
         Ext.Msg.alert('溫馨提示','請選擇要上傳的文件'); 
         return; 
        } 
        Ext.MessageBox.show({ 
           title : '請稍後....', 
           msg : '文件正在上傳中....', 
           progressText : '', 
           width : 300, 
           progress : true, 
           closable : false, 
           animEl : 'loding' 
        }); 
        form.getForm().submit({ 
            url : 'upload', 
            method : 'POST', 
            success : function(form, action) { 
            Ext.Msg.alert('成功','恭喜!文件上傳成功!'+action.result.success); 
            win_upload.hide(); 
         }, 
         failure : function(form, action) { 
            Ext.Msg.alert('錯誤',"文件上傳失敗,請重新操作!"); 
         } 
        }) 
       } 
      } 
    }, { 
        text : 'Close', 
        handler : function() { 
            win_upload.hide(); 
    } 
    }], 
    closable: false, 
    draggable: false, 
    resizable: false 
}); 
 
 
Java代码: 
在保存文件之前获取流信息,并将其读出。 
获取excel内容 
 
package javaservlets.production.uploadexcel; 
 
import java.io.IOException; 
import java.io.InputStream; 
import java.util.List; 
 
import javax.servlet.ServletException; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
 
import jxl.Cell; 
import jxl.Sheet; 
import jxl.Workbook; 
import jxl.read.biff.BiffException; 
 
import org.apache.commons.fileupload.FileItem; 
import org.apache.commons.fileupload.FileUploadException; 
import org.apache.commons.fileupload.disk.DiskFileItemFactory; 
import org.apache.commons.fileupload.servlet.ServletFileUpload; 
import org.json.JSONException; 
import org.json.JSONObject; 
 
public class Upload extends HttpServlet { 
 
    private static final long serialVersionUID = 6777945010008132796L; 
 
    @Override 
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 
        super.doGet(req, resp); 
        System.out.println("doGet"); 
        resp.sendRedirect("/upload/index.jsp"); 
    } 
     
    @Override 
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) { 
         
System.out.println("--------------------------------- upload ---------------------------------------------------"); 
         
        InputStream is = null; 
        Workbook workbook = null; 
         
        try { 
            List<FileItem> items = new ServletFileUpload(new DiskFileItemFactory()).parseRequest(req); 
            for (FileItem item : items) { 
                if (item.isFormField()) { 
                    System.out.println(item.getFieldName()); 
                    System.out.println(item.getString()); 
                } else { 
                    System.out.println(item.getFiel

补充:web前端 , JavaScript ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,