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

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

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

    學(xué)習(xí) 學(xué)習(xí) 再學(xué)習(xí)

    學(xué)習(xí)才是唯一的出路

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      31 隨筆 :: 1 文章 :: 8 評論 :: 0 Trackbacks

    徹底解決中文名文件下載和下載文件內(nèi)容亂碼問題!!!!! 之前,寫過一個Download.jsp文件,可以解決下載文件亂碼問題(諸如:DOC,XSL文件等等).
    后來發(fā)現(xiàn),遇到中文名的文件的時候,文件下載將會報錯~~~~
    今天,通過改寫原Download.jsp文件已經(jīng)徹底解決了這個問題~
    現(xiàn)在,把一整套的文件上傳下載的方法給貼出來~~~以便大家借鑒!~!~!~!~! 
    作者:古埃及法老
    -------------------------------------------------------------------------------------------------------------------
    測試環(huán)境:WEBLOGIC 8.1,WIN XP SP4,IE 6.0
    -----------------------------------------------------
    文件上傳:
    -----------------------------------------
    準(zhǔn)備工作:導(dǎo)入著名的SmartUpload.jar組件包
    upload.jsp文件
    ---------------------------------------------------------
    <%@ page contentType="text/html; charset=gb2312" %>
    <%
    request.setCharacterEncoding("gb2312"); // 這句話很重要,否則遇到中文就出錯~
    %>
    <HTML><HEAD><TITLE>上傳</TITLE>
    <META content="text/html; charset=gb2312" http-equiv=Content-Type>
    </HEAD>
    <BODY leftMargin=0 topMargin=0>
    <table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#DEE7EF">
       <tr>
         <td align="center">
           <FORM action="upload_ok.jsp" method=post name="Upload" enctype="multipart/form-data">
             <br>
             請輸入附件文件的所在路徑<FONT color=red> * </FONT>為必填項目<br>
             <br>
             <TABLE width="317" border=0 cellPadding=0>
               <TBODY>
                 <TR>
                   <TD align=right valign=middle nowrap>附件路徑:</TD>
                   <TD><input type="file" name="file" style="border: 1px #FFFFFF solid;background:#efefef" > <FONT color=red>*</FONT></TD>
                 </TR>
                 <TR align="center">
                   <TD height=60 colspan="2" valign=middle nowrap> <INPUT style="height:22px" name=B1 type=submit value=" 確 定 " >
    <INPUT style="height:22px" name=B2 type=reset value=" 取 消 " >
                   </TD>
                 </TR>
               </TBODY>
             </TABLE>
           </FORM>
    </td>
       </tr>
    </table>
    </BODY></HTML>
    ---------------------------------------------------------
    upload_ok.jsp文件
    ---------------------------------------------------------
    <%@ page contentType="text/html;charset=gb2312" %>
    <%@ page import="com.jspsmart.upload.*" %>
    <HTML><HEAD><TITLE>上傳成功!</TITLE>
    <META content="text/html; charset=gb2312" http-equiv=Content-Type>
    </HEAD>
    <BODY leftMargin=0 topMargin=0>
    <jsp:useBean id="mySmartUpload" scope="page" class="com.jspsmart.upload.SmartUpload" />
    <table width="80%"   border="0" cellpadding="0" cellspacing="0" bgcolor="#DEE7EF">
       <tr>
         <td align="center">
    <%
    int count=0;
    String fileName = null;
    mySmartUpload.initialize(pageContext);
    mySmartUpload.upload();
    com.jspsmart.upload.File myFile = mySmartUpload.getFiles().getFile(0);
    if (!myFile.isMissing()) {
       //String ext=myFile.getFileExt();//得到后綴  
       fileName = myFile.getFileName();
                 myFile.saveAs("/files/" + fileName);//你要存放文件所在文件夾的相對路徑
          out.println("文件:<b>"+fileName+"</b>上傳成功!<br>文件大小:" + myFile.getSize() + "kb<BR>");
          }
    %>
    </BODY></HTML>
    ---------------------------------------------------------

    文件下載:
    -----------------------------------------
    文件的超連接寫法范例:
    <% String fname ="中文測試.xsl"; //假設(shè)你的文件名是:中文測試.xsl
    %>
    <A target="_blank" href="Download.jsp?filename=<%=fname%>">下 載</A>
    文件的超連接寫法范例-2 重新用utf-8對文件名編碼:
    <%@ page contentType="text/html;charset=gb2312" session="true"%>
    <%   String name=java.net.URLEncoder.encode("世界文化.doc","UTF-8"));%>   <a href="c:\<%=name%>">世界文化.doc</a>

    Download.jsp文件
    ---------------------------------------------------------
    <%
       java.io.BufferedInputStream bis=null;
       java.io.BufferedOutputStream   bos=null;
    try{
    String filename=request.getParameter("filename");
                  filename=new String(filename.getBytes("iso8859-1"),"gb2312");
    response.setContentType("application/x-msdownload");
    response.setHeader("Content-disposition","attachment; filename="+new String(filename.getBytes("gb2312"),"iso8859-1"));
    bis =new java.io.BufferedInputStream(new java.io.FileInputStream(config.getServletContext().getRealPath("files/" + filename)));
    bos=new java.io.BufferedOutputStream(response.getOutputStream());
    byte[] buff = new byte[2048];
    int bytesRead;
    while(-1 != (bytesRead = bis.read(buff, 0, buff.length))) {
       bos.write(buff,0,bytesRead);
    }
    }
    catch(Exception e){
    e.printStackTrace();
    }
    finally {
    if (bis != null)bis.close();
    if (bos != null)bos.close();
    }
    %> 
     



    J-CN工作室
    www.j-cn.org
    posted on 2009-10-01 15:15 鐵猴 閱讀(786) 評論(0)  編輯  收藏 所屬分類: JAVA隨記
    主站蜘蛛池模板: 日本精品久久久久久久久免费 | 亚洲国产精品无码久久98| 亚洲一本之道高清乱码| 亚洲18在线天美| 亚洲成在人线aⅴ免费毛片| 韩国欧洲一级毛片免费| 亚洲?V无码成人精品区日韩| 又爽又黄无遮挡高清免费视频| 亚洲日韩精品一区二区三区 | 91嫩草免费国产永久入口| 成人毛片免费观看视频在线| 伊人久久大香线蕉亚洲| 亚洲中文字幕在线无码一区二区| ww在线观视频免费观看| 色噜噜亚洲男人的天堂| a级在线观看免费| 成人无遮挡裸免费视频在线观看| 亚洲av中文无码乱人伦在线咪咕| 亚洲国产精品一区二区三区在线观看| 有色视频在线观看免费高清在线直播 | 亚洲w码欧洲s码免费| 成人免费午间影院在线观看| 亚洲欧美在线x视频| 4399好看日本在线电影免费| 久久亚洲精品成人综合| 国产亚洲精品美女久久久久| 黄在线观看www免费看| 亚洲一日韩欧美中文字幕在线| 亚洲精品久久久www| 亚洲国产精品高清久久久| 国产成人亚洲毛片| 在线亚洲精品自拍| 91精品免费不卡在线观看| 91麻豆精品国产自产在线观看亚洲| 久久久精品视频免费观看| 精品国产一区二区三区免费看| 中美日韩在线网免费毛片视频| 好爽…又高潮了毛片免费看| 亚洲美女视频网址| AAAAA级少妇高潮大片免费看| 亚洲高清无在码在线电影不卡|