您的位置:首页 > 其它

servlet从服务器下载文件,是图片则显示,文档则下载(可配置)

2016-07-14 15:38 218 查看
笔记,以便以后再写时记得

首先需要配置MIME,可自行百度了解,我是配置在properties里面

获取到MIME后,response.setContentType(type +"; charset=UTF-8"),设置response头,

如果全是下载的话加上:(图片也直接是下载而不是显示在网页上了)

response.setHeader("Content-Disposition", "attachment;filename=" + new String( fname.getBytes("UTF-8"), "ISO8859-1" ) );

意思为设置下载的文件名就为服务器的文件名,并且将中文之类的转码。

具体的是否下载还是显示应该在MIME里可以更具体的配置

然后将文件加载到流里面

 FileInputStream fis = new FileInputStream(allName);  //allName为服务器上的文件全路径名,路径通过配置获取

        OutputStream os = response.getOutputStream();

        int count = 0;

        byte[] buffer = new byte[1024];

        while ((count = fis.read(buffer)) != -1)

        os.write(buffer, 0, count);

        os.flush();

        if (os != null)

        os.close();

        if (fis != null)

        fis.close();

参数里需要有HttpServletResponse response
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: