posts - 22,comments - 35,trackbacks - 0

          <%@ page import="java.io.*"%>
          <%
          String root=application.getRealPath("/");
          String fileName=request.getParameter("fileName");
          String filePath=request.getParameter("filePath");

          response.setContentType("application/octet-stream");
          response.setHeader("Content-Disposition",
          "attachment; filename=\"" +fileName+ "\"");

          try{
          java.io.OutputStream os = response.getOutputStream(); //不加此行將只能下載文本文件.下載jpg等就會出現(xiàn)打不開的現(xiàn)象.
          java.io.FileInputStream fis = new java.io.FileInputStream(root+filePath);
          byte[] b = new byte[1024];
          int i = 0;
          while ( (i = fis.read(b)) > 0 )
          {
          os.write(b, 0, i);
          }

          fis.close();
          os.flush();
          os.close();
          }
          catch ( Exception e )
          {
          System.out.println ( "IOException." + e );
          }
          %>

          java.io.FileInputStream fis = new java.io.FileInputStream(文件的真實(shí)路徑);
          也可以

          <%
          if (request.getParameter("fileUrl") != null)
          {
          String strFileUrl = request.getParameter("fileUrl");

          //獲取文件名(DealFile是自己寫的一個(gè)處理文件的一個(gè)類)
          DealFile dealFile = new DealFile(strFileUrl);
          String filename = dealFile.getFileName();

          response.setHeader("content-type","application/octet-stream");
          response.setHeader("Content-Disposition","attachment;filename=\""+ filename+"\"");

          BufferedInputStream bis = null;
          BufferedOutputStream bos = null;
          try
          {
          //從文件所在目錄以流的方式讀取文件
          bis = new BufferedInputStream(new FileInputStream(getServletContext().getRealPath(strFileUrl)));

          bos = new BufferedOutputStream(response.getOutputStream());

          byte[] buff = new byte[2048];
          int bytesRead;

          while(-1 != (bytesRead = bis.read(buff, 0, buff.length)))
          {
          bos.write(buff,0,bytesRead);
          }
          bos.flush();
          }
          catch(final IOException e)
          {
          System.out.println ( "IOException." + e );
          }
          finally
          {
          if (bis != null)
          bis.close();
          if (bos != null)
          bos.close();
          }
          return;
          }
          %>

          posted on 2006-04-14 16:04 kelven 閱讀(1466) 評論(0)  編輯  收藏 所屬分類: Java
          主站蜘蛛池模板: 永城市| 甘泉县| 吉安市| 通许县| 葫芦岛市| 邵东县| 武威市| 道真| 八宿县| 阿勒泰市| 永胜县| 中山市| 鹰潭市| 博客| 五指山市| 江阴市| 航空| 濉溪县| 甘泉县| 屯留县| 衡阳县| 武清区| 淳安县| 沾益县| 化德县| 图们市| 汉源县| 芒康县| 本溪| 新营市| 临汾市| 呼和浩特市| 马山县| 黄大仙区| 金坛市| 桦甸市| 大埔区| 罗甸县| 绩溪县| 梅河口市| 油尖旺区|