<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));
                
    //判斷是否已經(jīng)存在
                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{
                    
    //將資料信息保存進數(shù)據(jù)庫
                    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)  編輯  收藏


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


    網(wǎng)站導航:
     
    <2025年7月>
    293012345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    導航

    統(tǒng)計

    常用鏈接

    留言簿(2)

    隨筆檔案

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲综合无码一区二区痴汉| 亚洲А∨精品天堂在线| 亚洲一区免费观看| 丝瓜app免费下载网址进入ios| 亚洲精品动漫人成3d在线| 羞羞漫画登录页面免费| 免费大学生国产在线观看p| 亚洲乱亚洲乱妇24p| 免费看少妇作爱视频| 国产亚洲漂亮白嫩美女在线| 四虎影视精品永久免费网站| 狼色精品人妻在线视频免费| 亚洲精品网站在线观看不卡无广告| 一级成人生活片免费看| 亚洲一区无码中文字幕| 国产成人AV片无码免费| 亚洲成A∨人片在线观看无码| 99在线视频免费观看视频| 亚洲经典千人经典日产| 亚洲精品偷拍视频免费观看| 日韩电影免费在线观看网站| 亚洲综合无码一区二区| 国语成本人片免费av无码| 亚洲精品无码成人片久久不卡| 婷婷亚洲天堂影院| 国产精品免费高清在线观看| 亚洲综合视频在线观看| 暖暖免费高清日本中文| v片免费在线观看| 亚洲视频在线一区| 最近2019中文免费字幕| 一区二区三区免费在线观看| 亚洲激情视频在线观看| 日本19禁啪啪无遮挡免费动图| kk4kk免费视频毛片| 亚洲另类精品xxxx人妖| 亚洲AⅤ视频一区二区三区| 午夜网站在线观看免费完整高清观看| 中文字幕亚洲男人的天堂网络| 亚洲精品国自产拍在线观看| 日本一卡精品视频免费|