回 帖 发 新 帖 刷新版面

主题:关于文件下载的问题

我做了一个文件下载的页面,就是每个网站都有的下载页面差不多。我下载的是文本文件。不知道为什么,下载下来的文件都多了2行,在ultraedit中是2空行,在editplus下看是2个方框乱码?到底是怎么回事呢?很郁闷。希望知道的能给解答一下。

回复列表 (共1个回复)

沙发

代码为:

<%
        //得到要下载的文件名
//        String filename = request.getParameter("filename");
        String filename = request.getParameter("b");
        //处理在下载保存对话框中,文件名显示不正确的问题,见下面的详细说明
        String downloadDisplayName = java.net.URLEncoder.encode(filename, "UTF-8");
        //设置response的属性,以使浏览器知道这次是下载文件,而不是网页
        response.setContentType("application/octet-stream");
        response.setHeader("Content-Disposition","attachment;filename=\"" + downloadDisplayName + "\";");
        //response.setHeader("Content-Disposition","attachment; ");
        //构件文件的绝对路径
        filename = "/down/rjhdown/" + request.getParameter("a") + "/" + filename;
        filename = application.getRealPath( filename );
        //response.sendRedirect(filename);
        int iRead;
        FileInputStream stream = null;
        try {
            //根据要下载的文件构件一个文件对象。
            java.io.File f = new java.io.File(filename);
            stream = new FileInputStream(f);
            //构建一个流对象,它以ISO-8859-1的编码格式读取文件
            InputStreamReader inn = new InputStreamReader(stream,"ISO-8859-1");
            out.clearBuffer();
            //使用循环,一边读数据,一边写数据
            while ((iRead = inn.read()) != -1) {
                out.write(iRead);
            }
            inn.close();
        } finally {
            if (stream != null) { stream.close(); }
        }
%>

我来回复

您尚未登录,请登录后再回复。点此登录或注册