<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);
            
    //這個(gè)就就是彈出下載對(duì)話框的關(guān)鍵代碼
            response.setHeader("Content-disposition",
                    
    "attachment;filename=" + URLEncoder.encode(data_name,"GBK"));
            
    int bytesRead = 0;
            
    //用輸入流進(jìn)行先讀,然后用輸出流去寫
            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());
    //建立一個(gè)上傳文件的輸出流

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

                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{
                    
    //將資料信息保存進(jìn)數(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 閱讀(195) 評(píng)論(0)  編輯  收藏


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


    網(wǎng)站導(dǎo)航:
     
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導(dǎo)航

    統(tǒng)計(jì)

    常用鏈接

    留言簿(2)

    隨筆檔案

    文章檔案

    搜索

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 四虎www免费人成| 精品久久久久久久免费加勒比| 亚洲精品国产手机| 最近最新的免费中文字幕| 黄色a级片免费看| 亚洲热线99精品视频| 成人免费午夜无码视频| 一级毛片免费毛片毛片| 亚洲美女免费视频| 免费播放春色aⅴ视频| 99国产精品视频免费观看| 亚洲日韩精品国产一区二区三区| 亚洲性久久久影院| 丁香花免费高清视频完整版| 国产精品1024永久免费视频| 两个人看的www免费视频中文| 亚洲国产成人久久99精品| 国产AV无码专区亚洲AVJULIA| 女人18毛片特级一级免费视频| 成人性生免费视频| 卡1卡2卡3卡4卡5免费视频| 国产午夜影视大全免费观看| 国产人在线成免费视频| 七色永久性tv网站免费看| 免费夜色污私人影院网站电影 | 国产无遮挡无码视频免费软件| 国产精品亚洲片在线花蝴蝶| 伊人久久五月丁香综合中文亚洲| 婷婷亚洲综合五月天小说| 国产成人综合亚洲亚洲国产第一页| 在线免费观看污网站| 亚洲国产精品无码久久久久久曰| 最近中文字幕无免费视频| 国产一级特黄高清免费大片| 亚洲中文字幕无码永久在线| 亚洲综合在线成人一区| 亚洲av无码日韩av无码网站冲| 亚洲午夜精品久久久久久app| 国产偷国产偷亚洲高清在线| 久久美女网站免费| 成年女人喷潮毛片免费播放|