<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Struts文件上傳和下載

    jsp
    <%@ page language="java" contentType="text/html; charset=GBK" %>
    <html>
    <head>
        
    <meta http-equiv="Content-Type" content="text/html; charset=gbk"/>
        
    <title></title>
    </head>
    <body>
    <br>
    <html:form action="/datamanage.data.upload.do" method="post" enctype="multipart/form-data" target="_parent">
    <table width="45%" border="0" align="center" cellpadding="0" cellspacing="0" class="table_box">
        
    <tr>
            
    <td align="center" class="title_box" colspan="2">
                文件上傳
            
    </td>
        
    </tr>
        
    <tr>
            
    <td>
                文件:
            
    </td>
            
    <td>
                
    <html:file property="files" styleClass="text_2003"/>
            
    </td>
        
    </tr>
        
    <tr>
            
    <td>
                描述:
            
    </td>
            
    <td>
                
    <textarea rows="3" cols="40" class="text_2003" name="data_desc"></textarea>
            
    </td>
        
    </tr>

        
    <tr>
            
    <td class="bottom_box" colspan="2" align="center">
                
    <input type="button" value="上傳" styleClass="button_2003" onclick="checkForm();"/>&nbsp;&nbsp;&nbsp;
                
    <input type="button" onclick="cancle();" value="取消" styleClass="button_2003"/>
            
    </td>
        
    </tr>
        
    </html:form>
    </body>
    </html>


    DataUploadForm
    package eoms.datamanage.struts.form;

    import eoms.common.base.BaseForm;
    import org.apache.struts.upload.FormFile;

    public class DataUploadForm extends BaseForm {
        
    private FormFile files;
        
    private String type_id;
        
    private String data_path;
        
    private String data_desc;

        
    public String getType_id() {
            
    return type_id;
        }


        
    public void setType_id(String type_id) {
            
    this.type_id = type_id;
        }


        
    public FormFile getFiles() {
            
    return files;
        }


        
    public void setFiles(FormFile file) {
            
    this.files = file;
        }


        
    public String getData_path() {
            
    return data_path;
        }


        
    public void setData_path(String data_path) {
            
    this.data_path = data_path;
        }


        
    public String getData_desc() {
            
    return data_desc;
        }


        
    public void setData_desc(String data_desc) {
            
    this.data_desc = data_desc;
        }

    }


    文件下載Action
    package eoms.datamanage.struts.action;

    import eoms.common.base.BaseAction;
    import eoms.datamanage.dao.DataTypeDAO;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;

    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.*;
    import java.net.URLEncoder;

    public class DataDownAction extends BaseAction {

        
    public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
            DataTypeDAO typeDao 
    = (DataTypeDAO) this.getBean("DataTypeDAO");

            String type_id 
    = request.getParameter("type_id");
            String data_name 
    = request.getParameter("data_name");
            String path
    =typeDao.getDataTypeById(Integer.parseInt(type_id)).getData_path()+"/"+data_name;

            BufferedInputStream bis 
    = null;
            BufferedOutputStream bos 
    = null;
            OutputStream fos 
    = null;
            InputStream fis 
    = null;

            String filepath 
    = path;
            System.out.println(
    "文件路徑" + filepath);
            File uploadFile 
    = new File(filepath);
            fis 
    = new FileInputStream(uploadFile);
            bis 
    = new BufferedInputStream(fis);
            fos 
    = response.getOutputStream();
            bos 
    = new BufferedOutputStream(fos);
            
    //這個就就是彈出下載對話框的關鍵代碼
            response.setHeader("Content-disposition",
                    
    "attachment;filename=" + URLEncoder.encode(data_name,"GBK"));
            
    int bytesRead = 0;
            
    //用輸入流進行先讀,然后用輸出流去寫
            byte[] buffer = new byte[8192];
            
    while ((bytesRead = bis.read(buffer, 08192)) != -1{
                bos.write(buffer, 
    0, bytesRead);
            }

            bos.flush();
            fis.close();
            bis.close();
            fos.close();
            bos.close();

            
    return null;
        }

    }


    文件上傳Action
    package eoms.datamanage.struts.action;

    import com.metarnet.security.model.User;
    import eoms.common.Constants;
    import eoms.common.base.BaseAction;
    import eoms.datamanage.dao.DataDAO;
    import eoms.datamanage.dao.DataTypeDAO;
    import eoms.datamanage.model.DataModel;
    import eoms.datamanage.model.DataTypeModel;
    import eoms.datamanage.struts.form.DataUploadForm;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    import org.apache.struts.upload.FormFile;

    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.FileOutputStream;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.util.HashMap;
    import java.util.Map;

    public class DataUploadAction extends BaseAction {

        
    public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
            User user 
    = (User) request.getSession().getAttribute(
                    Constants.SESSION_USER_KEY);
            DataTypeDAO typeDao 
    = (DataTypeDAO) this.getBean("DataTypeDAO");
            DataDAO dataDao 
    = (DataDAO) this.getBean("DataDAO");
            DataUploadForm theForm 
    = (DataUploadForm) form;
            FormFile file 
    = theForm.getFiles();//取得上傳的文件
            String filePath = theForm.getData_path();//上傳到指定的文件夾中
            String fileDesc = theForm.getData_desc();
            String type_id 
    = theForm.getType_id();

            
    try {
                InputStream stream 
    = file.getInputStream();//把文件讀入

                OutputStream bos 
    = new FileOutputStream(filePath + "/" +
                        file.getFileName());
    //建立一個上傳文件的輸出流

                
    int bytesRead = 0;
                
    byte[] buffer = new byte[8192];
                
    while ((bytesRead = stream.read(buffer, 08192)) != -1{
                    bos.write(buffer, 
    0, bytesRead);//將文件寫入服務器
                }

                bos.close();
                stream.close();

                DataTypeModel typeModel 
    = typeDao.getDataTypeById(Integer.parseInt(type_id));
                
    //判斷是否已經存在
                Map map = new HashMap();
                map.put(
    "type_code", typeModel.getData_type_code());
                map.put(
    "data_name", file.getFileName());
                DataModel data 
    = dataDao.getDataByTypeAndName(map);
                
    if (data == null{
                    
    //將資料信息保存進數據庫
                    DataModel model = new DataModel();
                    model.setData_type_code(typeModel.getData_type_code());
                    model.setData_name(file.getFileName());
                    model.setData_type(typeModel.getData_type_name());
                    model.setData_desc(fileDesc);
                    model.setData_author(user.getUserId());
                    dataDao.addNewData(model);
                }

            }
     catch (Exception e) {
                System.err.print(e);
            }


            request.setAttribute(
    "type_id", type_id);
            
    return mapping.findForward("success");
        }


    }

    posted on 2011-03-25 16:39 Mr.lu 閱讀(199) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    <2025年7月>
    293012345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    導航

    統計

    常用鏈接

    留言簿(2)

    隨筆檔案

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产区卡一卡二卡三乱码免费 | 亚洲精品国产第1页| xxxx日本在线播放免费不卡| 国产乱色精品成人免费视频| 亚洲国产无线乱码在线观看 | 猫咪免费人成网站在线观看| 久久亚洲精品中文字幕无码| 东北美女野外bbwbbw免费| 国产亚洲视频在线播放| av电影在线免费看| 日韩亚洲欧洲在线com91tv| 国产综合免费精品久久久| 亚洲AV无码欧洲AV无码网站| 久久午夜夜伦鲁鲁片免费无码 | 免费v片在线观看视频网站| 亚洲中文字幕久久精品无码2021| 日韩中文字幕精品免费一区| 亚洲日韩AV一区二区三区四区| 日韩精品视频免费网址| 美女视频黄a视频全免费网站色 | 一区二区三区无码视频免费福利| 亚洲s色大片在线观看| 999国内精品永久免费视频| 亚洲国产无线乱码在线观看 | 成人免费a级毛片| 小说区亚洲自拍另类| 亚洲综合日韩久久成人AV| 最近免费mv在线电影| 亚洲av无码成人精品区一本二本| 久久精品国产亚洲一区二区三区| 野花香在线视频免费观看大全| 亚洲免费在线视频播放| 日韩精品成人亚洲专区| 日韩免费无码一区二区三区| 亚洲中文字幕无码亚洲成A人片| 伊人久久亚洲综合影院| 日韩人妻无码精品久久免费一| 亚洲成a人片在线不卡一二三区 | 免费久久人人爽人人爽av| 亚洲国产精品免费观看| 国产亚洲精品激情都市|