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

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

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

    小菜毛毛技術分享

    與大家共同成長

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      164 Posts :: 141 Stories :: 94 Comments :: 0 Trackbacks

    <%@ page import="java.io.File" %>
    <%@ page import="java.io.IOException" %>
    <%@ page import="java.io.OutputStream" %>
    <%@ page import="java.io.RandomAccessFile" %>
    <%!
        public void downloadFile(HttpServletRequest request, HttpServletResponse response, File file) throws IOException {

            RandomAccessFile raf = new RandomAccessFile(file, "r");
            java.io.FileInputStream fis = new java.io.FileInputStream(raf.getFD());
            response.setHeader("Server", "www.trydone.com");
            response.setHeader("Accept-Ranges", "bytes");
            long pos = 0;
            long len;
            len = raf.length();
            if (request.getHeader("Range") != null) {
                response.setStatus(HttpServletResponse.SC_PARTIAL_CONTENT);
                pos = Long.parseLong(request.getHeader("Range")
                        .replaceAll("bytes=", "")
                        .replaceAll("-", "")
                );
            }
            response.setHeader("Content-Length", Long.toString(len - pos));
            if (pos != 0) {
                response.setHeader("Content-Range", new StringBuffer()
                        .append("bytes ")
                        .append(pos)
                        .append("-")
                        .append(Long.toString(len - 1))
                        .append("/")
                        .append(len)
                        .toString()
                );
            }
            response.setContentType("application/octet-stream");
            response.setHeader("Content-Disposition", new StringBuffer()
                    .append("attachment;filename=\"")
                    .append(file.getName())
                    .append("\"").toString());
            raf.seek(pos);
            byte[] b = new byte[2048];
            int i;
            OutputStream outs = response.getOutputStream();
            while ((i = raf.read(b)) != -1) {
                outs.write(b, 0, i);
            }
            raf.close();
            fis.close();
        }

    %>
    <%
        String filePath = request.getParameter("file");
        filePath = application.getRealPath(filePath);
        File file = new File(filePath);
        downloadFile(request, response, file);
    %>

    posted on 2010-01-19 17:28 小菜毛毛 閱讀(879) 評論(0)  編輯  收藏 所屬分類: J2EE相關技術與框架
    主站蜘蛛池模板: 日本免费一区二区三区最新vr| 免费观看的毛片大全| 亚洲嫩草影院久久精品| 一区在线免费观看| 国产免费小视频在线观看| 欧美激情综合亚洲一二区| a级成人毛片免费图片| 精品国产亚洲一区二区三区| 日本亚洲色大成网站www久久| 大地资源在线观看免费高清| 亚洲精品无码av片| 又大又黄又粗又爽的免费视频 | 日韩精品亚洲人成在线观看 | 在线A级毛片无码免费真人 | 亚洲AV无码一区二区大桥未久| 精品少妇人妻AV免费久久洗澡| 日韩亚洲翔田千里在线| 91av免费观看| 亚洲男人的天堂久久精品| 日韩精品视频免费在线观看| 最好2018中文免费视频| 亚洲啪啪综合AV一区| 69免费视频大片| 爱爱帝国亚洲一区二区三区| 国产成人亚洲精品影院| 美丽姑娘免费观看在线观看中文版| 久久狠狠爱亚洲综合影院| 亚洲免费观看视频| 亚洲免费福利视频| 国产成人一区二区三区免费视频| 国产乱子伦精品免费视频| 亚洲精品午夜视频| 免费在线观看黄色毛片| 国产激情免费视频在线观看 | 国产av无码专区亚洲av果冻传媒| 欧洲精品99毛片免费高清观看| 亚洲AV无码之国产精品| 狠狠色伊人亚洲综合成人| 成人免费视频观看无遮挡| 成全视成人免费观看在线看| 亚洲av无码专区在线|