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

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

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

    webwork 實現數據生成text文件,并進行壓縮,并進行下載

    //實現壓縮文件功能,采用commons-io-2.0.1.jar ,commons-compress-1.5.jar插件
            final OutputStream out = new FileOutputStream("D:/EDI/EDi.zip");  //實例文件輸出流
            ArchiveOutputStream os = new ArchiveStreamFactory().createArchiveOutputStream(ArchiveStreamFactory.ZIP, out);  
            //實例化存檔輸出流,工廠方法創建zip的存檔輸出流
    //        File f1 = new File(file.getPath());
            os.putArchiveEntry(new ZipArchiveEntry(file.getName()));  //生成存檔文件名
            IOUtils.copy(new FileInputStream(file), os);  //添加拷貝存檔文件
            
            os.closeArchiveEntry();  
            os.close();  
            
            //*************************
            try {
                File input = new File("D:/EDI/EDi.zip");//獲得下載文件路徑
                contentType="application/octet-stream";
                docStream = new FileInputStream(input);//獲得輸入流名稱
                contentDisposition =URLEncoder.encode(input.getName() ,"UTF-8");
               } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
               }  
               return "download";
    WEBWORK的文件下載機制。使用起來還是比較簡單的。
    下面是用法說明:
    首先在一個ACTION中,如果判斷有權限進行文件下載。
    則:
    1、讀出該下載文件,并生成一個流。 文件名應當從請求的request中讀出,或從用戶的表中取出。
    public String downLoadFile(String fileName){
       try {
        File input = new File("e:/engilish literature.doc");
        docStream = new FileInputStream(input);
        contentDisposition = "test.txt";
       } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
       }  
       return "download";
    }
    2、將輸出導向到一個特殊的RESULT中去。叫做Steam Result。
             <action name="register" class="com.job2easy.web.user.RegisterAction">
                 <result name="success" type="dispatcher">
                     <param name="location">/home/register-result.jsp</param>
                 </result>
                 <result name="input">
                     <param name="location">/home/register.jsp</param>
                 </result>
                 <result name="download" type="stream">
                     <param name="contentType">application/x-msdownload</param>
                     <param name="inputName">docStream</param>
                     <param name="bufferSize">1024</param>              
                     <param name="contentDisposition">attachment;filename="${contentDisposition}"</param>
                 </result>

                 <interceptor-ref name="params"/>
             </action>
    3、這中間有幾個參數需要配置:
         contentType設成 application/x-msdownload 就可以。這樣瀏覽器會保證彈出一個下載文件的對話框。
        inputName 這個比較重要,這個名字是輸入流的名稱, 以后要steam result的實現類中為根據OGNL的表達式去查找的。
        contentDisposition 這個是下載之后,保存在用戶端的文件名稱。${contentDisposition} 看一下代碼。如果寫成上述的方式,就有機會在ACTION中設置文件名。
    4、另外一個參數:contentLength就是下載文件的大小,webwork的stream result似乎實現有問題,不能根據文件的大小動態進行設置,只能寫死。
         這個參數的意義是告訴瀏覽下載的文件有多大,以便瀏覽器正確的顯示進度條。如果這個功能很重要的話,可以重新寫一個RESULT來實現。
    0

    posted on 2016-08-09 17:49 youngturk 閱讀(271) 評論(0)  編輯  收藏 所屬分類: 筆試題Java基礎struts2

    <2016年8月>
    31123456
    78910111213
    14151617181920
    21222324252627
    28293031123
    45678910

    導航

    統計

    公告

    this year :
    1 jQuery
    2 freemarker
    3 框架結構
    4 口語英語

    常用鏈接

    留言簿(6)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    相冊

    EJB學習

    Flex學習

    learn English

    oracle

    spring MVC web service

    SQL

    Struts

    生活保健

    解析文件

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲福利一区二区三区| 大片免费观看92在线视频线视频| 毛片A级毛片免费播放| 日韩亚洲综合精品国产| 亚洲日韩在线观看免费视频| 国产免费阿v精品视频网址| 亚洲免费视频播放| 亚洲国产精品无码久久久久久曰 | 国产伦精品一区二区三区免费下载| 四虎国产精品成人免费久久 | 国产亚洲精品美女2020久久| 亚洲欧洲∨国产一区二区三区| 久久午夜夜伦鲁鲁片免费无码影视| 亚洲人av高清无码| 亚洲爆乳无码一区二区三区| 五月婷婷综合免费| 国产免费一级高清淫曰本片| 亚洲精品国产精品国自产网站| 成人午夜亚洲精品无码网站| 免费无码AV片在线观看软件| a视频免费在线观看| 亚洲精品久久无码av片俺去也| 亚洲AV无码不卡在线播放| 免费看美女被靠到爽的视频| 中文字幕免费高清视频| 成人福利在线观看免费视频| 亚洲性色高清完整版在线观看| 亚洲毛片av日韩av无码| 国产乱子精品免费视观看片| 久久免费99精品国产自在现线 | 亚洲欧洲综合在线| 亚洲热妇无码AV在线播放| 日韩电影免费在线观看视频| 亚洲一级免费毛片| a毛片免费全部播放完整成| www亚洲精品久久久乳| 亚洲人成毛片线播放| 亚洲人成电影在线天堂| 伊人亚洲综合青草青草久热| 国产免费久久精品久久久| 成年丰满熟妇午夜免费视频|