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

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

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

    cAng^Er

    不懂我的人 , 離不了我 , 該了解了解我 !而懂我的人 , 更離不了我 , 因為他們愛我 。

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      30 隨筆 :: 16 文章 :: 18 評論 :: 0 Trackbacks

     用webwork框架做upload的java讀取代碼
        我的語言表達能力不是很好,說也許說不明白,可能給看的說得糊涂了,同樣
    這個對做上傳得新手很有用,不啰嗦了,先寫代碼吧:一共4個地方要弄,
    前臺,后臺,xwork和webwork.properties
    前臺:
    upload.jsp:
    =================================================================
    <%--
      Created by IntelliJ IDEA.
      User: lvjiachun
      Date: 2006-5-3
      Time: 9:32:35
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=utf-8" language="java" %>
    <%@ taglib prefix="ww" uri="/webwork" %>
    <html>
    <head><title>upload</title></head>
    <body><p align="center">
        <ww:form action="upload.action" name="upload" method="post" enctype="multipart/form-data">
            <ww:file name="file1" value="瀏覽" label="ReadFile"/>
            <ww:file name="file2" value="瀏覽" label="ReadFile"/>
            <ww:file name="file3" value="瀏覽" label="ReadFile"/>
            <ww:file name="file4" value="瀏覽" label="ReadFile"/>
            <ww:textfield name="model.fileURL" label="Road"/>  //指定上傳得文件保存到哪里
            <ww:submit/>
        </ww:form></p>
    </body>
    </html>
    =======================================================================
    upload-success.jsp
    =======================================================================
    <%--
      Created by IntelliJ IDEA.
      User: lvjiachun
      Date: 2006-5-3
      Time: 9:38:04
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=utf-8" language="java" %>
    <%@ taglib prefix="ww" uri="/webwork" %>
    <html>
    <head><title>upload-success</title></head>

    <body>
    <p align="center">
        你已經上傳成功,
        <a href="upload.jsp">請返回</a>
    </p>
    </body>
    </html>
    ========================================================================
    后臺:一共需要三個4個java文件
    1.  <FileMes>
    package upload.until;

    /**
     * Created by IntelliJ IDEA.
     * User: lvjiachun
     * Date: 2006-5-3
     * Time: 7:51:11
     * To change this template use File | Settings | File Templates.
     */
    public class FileMes {
        private String fileName;

        public String getFileName() {
            return fileName;
        }

        public void setFileName(String fileName) {
            this.fileName = fileName;
        }

        public String getFilePath() {
            return filePath;
        }

        public void setFilePath(String filePath) {
            this.filePath = filePath;
        }

        private String filePath;
    }
    2.<FileSelect >
    package upload.until;

    /**
     * Created by IntelliJ IDEA.
     * User: lvjiachun
     * Date: 2006-5-3
     * Time: 7:51:23
     * To change this template use File | Settings | File Templates.
     */
    public class FileSelect {
        private String fileName;
        private String fileURL;
        private String type;

        public String getFileName() {
            return fileName;
        }

        public void setFileName(String fileName) {
            this.fileName = fileName;
        }

        public String getFileURL() {
            return fileURL;
        }

        public void setFileURL(String fileURL) {
            this.fileURL = fileURL;
        }

        public String getType() {
            return type;
        }

        public void setType(String type) {
            this.type = type;
        }
    }
    3.<UploadUntil >
    package upload.until;

    import com.opensymphony.webwork.dispatcher.multipart.MultiPartRequestWrapper;
    import com.opensymphony.webwork.dispatcher.multipart.MultiPartRequest;
    import com.opensymphony.webwork.ServletActionContext;

    import java.util.List;
    import java.util.ArrayList;
    import java.util.Enumeration;
    import java.util.Calendar;
    import java.io.*;

    /**
     * Created by IntelliJ IDEA.
     * User: lvjiachun
     * Date: 2006-5-3
     * Time: 7:51:00
     * To change this template use File | Settings | File Templates.
     */
    public class UploadUntil {
        public static List<FileMes> Upload(String smallPath) throws IOException {
            List<FileMes> fileMesList = new ArrayList<FileMes>();
            String path = smallPath;
            System.out.println("PATH 2:" + path);
            MultiPartRequestWrapper multiWrapper = (MultiPartRequestWrapper) ServletActionContext.getRequest();
            if (multiWrapper == null) return null;
            Enumeration e = multiWrapper.getFileNames();
            int i = 0;
    //===============================================================//
            //這個是單文件上傳的代碼;!!如果想做單文件上傳,把注釋掉的代碼去掉就可以了
    //        while (e.hasMoreElements()) {
    //            String inputValue = (String) e.nextElement();
    //            String contentType = multiWrapper.getContentType(inputValue);
    //            String flie1 = multiWrapper.getFilesystemName(inputValue);
    //            String fileName = flie1;
    //            System.out.println("FileName underfinded:" + fileName);
    //            String savePath = path + fileName;
    //            File file = multiWrapper.getFile(inputValue);
    //            if (file != null) {
    //                InputStream inStream = new FileInputStream(file.getPath());
    //                FileMes fm = new FileMes();
    //                fm.setFileName(flie1);
    //                System.out.println("FileName:" + fm.getFileName());
    //                System.out.println("SmallPath in UploadUntil.java" + smallPath);
    //                fm.setFilePath(smallPath + fileName);
    //                System.out.println("FilePath:" + fm.getFilePath());
    //                fileMesList.add(fm);
    //                System.out.println("SavePath:" + savePath);
    //                FileOutputStream fs = new FileOutputStream(savePath);
    //                byte[]buffer = new byte[1444];
    //                int length;
    //                int bytesum = 0;
    //                int byteread = 0;
    //                while ((byteread = inStream.read(buffer)) != -1) {
    //                    bytesum += byteread;
    //                    fs.write(buffer, 0, byteread);
    //                }
    //============================================================//
    // 下面這個是多文件上傳-------------------
            while (e.hasMoreElements()) {
                String inputValue = (String) e.nextElement();
                String contentType = multiWrapper.getContentType(inputValue);
                String flie1 = multiWrapper.getFilesystemName(inputValue);
                String fileName = Calendar.getInstance().getTime().getTime() + "-" + i + flie1;
                String savePath = path + fileName;
                File file = multiWrapper.getFile(inputValue);
                if (file != null) {
                    InputStream inStream = new FileInputStream(file.getPath()); //讀入原文件
                    FileMes fm = new FileMes();
                    fm.setFileName(flie1);
                    fm.setFilePath(smallPath + fileName);
                    fileMesList.add(fm);
                    FileOutputStream fs = new FileOutputStream(savePath);
                    byte[] buffer = new byte[1444];
                    int length;
                    int bytesum = 0;
                    int byteread = 0;
                    while ((byteread = inStream.read(buffer)) != -1) {
                        bytesum += byteread; //字節數 文件大小
                        fs.write(buffer, 0, byteread);
                    }
    //==============================================================//
                    inStream.close();   //關閉輸入流
                    i++;
                    if (file.exists()) {
                        file.delete();
                    }   //如果上傳的文件存在則將其刪除;
                }

            }
            return fileMesList;
        }
    }
    4.也就是最后一個,action<UploadfilesAction>
    package upload.fileupload;

    import com.opensymphony.xwork.ActionSupport;
    import com.opensymphony.xwork.Action;
    import com.opensymphony.xwork.ModelDriven;
    import upload.until.FileSelect;

    /**
     * Created by IntelliJ IDEA.
     * User:lvjiachun
     * Date: 2006-5-3
     * Time: 7:52:34
     * To change this template use File | Settings | File Templates.
     */
    public class UploadfilesAction extends ActionSupport implements Action, ModelDriven {
        FileSelect fileMes = new FileSelect();

        public String upload() throws Exception {
            String smallPath = fileMes.getFileURL();
            System.out.println(smallPath+"xiaosao");
            java.io.File myFilePath = new java.io.File(smallPath);
            if (smallPath != null) {
                if (!myFilePath.exists()) {
                    myFilePath.mkdir();
                    System.out.println("*******MaKe DIR!*********");
                }
            }
            upload.until.UploadUntil.Upload(smallPath);
            return SUCCESS;

        }
        public Object getModel() {
            return fileMes;  //To change body of implemented methods use File | Settings | File Templates.
        }
    }
    **********************************************************************
    xwork中
    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.1.1//EN" "
    http://www.opensymphony.com/xwork/xwork-1.1.1.dtd">
    <xwork>
        <include file="webwork-default.xml"/>
        <package name="upload" extends="webwork-default">
            <interceptors>
                <interceptor name="upload" class="com.opensymphony.webwork.interceptor.FileUploadInterceptor"/>
                <interceptor-stack name="uploadStack">
                    <interceptor-ref name="upload"/>
                    <interceptor-ref name="defaultStack"/>
                </interceptor-stack>
            </interceptors>
            <default-interceptor-ref name="WSStack"/>
        
            <action name="upload" class="upload.fileupload.UploadfilesAction" method="upload">
                <result name="success">
                    <param name="location">/upload/upload-success.jsp</param>
                </result>
                <interceptor-ref name="uploadStack"/>
                <interceptor-ref name="model-driven"/>
            </action>
        </package>
    </xwork>
    webwork.properties
    在webwork.properties中要加上這段代碼
    webwork.multipart.parser=com.opensymphony.webwork.dispatcher.multipart.PellMultiPartRequest
    webwork.multipart.saveDir=d:\\  #這個是上傳文件的默認保存路徑#

    xiaosao:具體的解析過程不是我寫的,是我工作室boss寫的,我也沒那個能力!具體怎么用
    看代碼就足夠了,這個是我在做上傳得時候用到的,開始做的時候沒有任何思路,在網上找
    也沒找到,憋了半個月也沒弄出來,用webwork可以得到上傳得文件,但傳得內容只有upload這
    幾個字(傳txt時候),后來才清楚是要解析過程的,后臺的前三段代碼就是解析過程,我是個新
    手,這個東西做的讓我腦袋都大了,為了大家方便,發到這里,有需要的來看一下!代碼是好
    使得,需要自己認真調試!有什么不足給點意見

    posted on 2006-05-11 09:43 cAng^Er 閱讀(1268) 評論(2)  編輯  收藏 所屬分類: |:Web View:|

    評論

    # re: 用webwork框架做upload的java讀取代碼 2006-11-30 14:01 ww
    上傳的功能好用, 我是想在上傳文件的同時,在存入數據庫中,怎么不能返回呢? 就是在你的return fileMesList;中去不到文件的名稱。為什么,我是新手,誰知道,請告訴我,先謝謝了。  回復  更多評論
      

    # re: 用webwork框架做upload的java讀取代碼 2006-12-05 14:14 cAng^Er
    @ww
    不好意思阿,好幾天沒有上博客了,今天在做新聞管理系統,測試友情鏈接的時候才發現,你把你的聯系方式給我,或者看到了加我的QQ:6826462  回復  更多評論
      

    主站蜘蛛池模板: 亚洲人成电影在线天堂 | 最近免费中文字幕大全视频| 亚洲视频免费在线看| 国产在线观看麻豆91精品免费 | 国产精品亚洲AV三区| 亚洲国产无线乱码在线观看 | 亚洲理论片中文字幕电影| 精品亚洲成在人线AV无码| 亚洲AV色无码乱码在线观看 | 亚洲AV成人无码久久精品老人| 看全色黄大色大片免费久久| 黄色a三级三级三级免费看| 国产人成亚洲第一网站在线播放| 国产亚洲真人做受在线观看| 亚洲精品在线观看视频| 在线观看亚洲AV日韩A∨| 人妻仑乱A级毛片免费看| 免费人成在线观看网站品爱网 | 中文字幕天天躁日日躁狠狠躁免费| 九一在线完整视频免费观看| 女人体1963午夜免费视频| 无人在线直播免费观看| 120秒男女动态视频免费| 爽爽日本在线视频免费| 国产亚洲欧洲精品| 日韩亚洲国产高清免费视频| 一级A毛片免费观看久久精品| 亚洲人xxx日本人18| aa午夜免费剧场| 无码区日韩特区永久免费系列 | 看免费毛片天天看| 中文字幕视频在线免费观看| 1024免费福利永久观看网站| 亚洲免费日韩无码系列| 色在线亚洲视频www| 伊人免费在线观看| 日本牲交大片免费观看| 亚洲一区二区电影| 特级aa**毛片免费观看| 日韩亚洲国产高清免费视频| 亚洲国产一区二区三区|