<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 鐵猴 閱讀(777) 評論(0)  編輯  收藏 所屬分類: JAVA隨記
    主站蜘蛛池模板: 亚洲精品乱码久久久久久蜜桃图片 | 亚洲日本国产乱码va在线观看| 亚洲天然素人无码专区| 免费观看激色视频网站bd| 久久久无码精品亚洲日韩京东传媒| 免费在线看污视频| 国产成人亚洲综合无码精品| 99在线热播精品免费99热| 亚洲乱码中文字幕综合| 国内精品免费在线观看| 亚洲天天做日日做天天欢毛片| 亚洲黄色免费在线观看| 亚洲区视频在线观看| 免费涩涩在线视频网| 美女被免费网站在线视频免费| 亚洲成AⅤ人影院在线观看| 日亚毛片免费乱码不卡一区| 亚洲综合精品香蕉久久网| 久久免费视频99| 亚洲一本一道一区二区三区| 免费观看四虎精品国产永久| 精品人妻系列无码人妻免费视频 | 日本成年免费网站| 亚洲youwu永久无码精品 | 亚洲伦理一区二区| 91手机看片国产永久免费| 成人婷婷网色偷偷亚洲男人的天堂| 内射无码专区久久亚洲| 日本一道本不卡免费| 亚洲中文字幕无码一去台湾| 无码欧精品亚洲日韩一区夜夜嗨 | 亚洲一区二区三区写真| 精品国产亚洲一区二区在线观看| 日韩免费视频一区二区| 亚洲精品无码aⅴ中文字幕蜜桃| AV在线播放日韩亚洲欧| 亚洲毛片免费视频| 免费国产va在线观看| 自怕偷自怕亚洲精品| 免费在线观看污网站| 最近2019中文字幕免费大全5|