通用方法 JAVA实现文件下载没有中文名乱码问题

   日期:2022-07-22     文章发布:文章发布    网络转载:生活号    
移动站源标题:http://mip.818114.com/news/item-238065.html  , 直接上代码:
        //获取源文件流
        InputStream fileInputStream = ofsManager.getFile(downloadStoredPath);
        OutputStream outputStream = response.getOutputStream();
        //设置Http响应头告诉浏览器下载这个附件,下载的文件名也是在这里设置的
        //判断浏览器代理并分别设置响应给浏览器的编码格式
        String finalFileName = downloadStoredPath.substring(downloadStoredPath.lastIndexOf("/") + 1);
        finalFileName = URLEncoder.encode(finalFileName, "UTF8");
        //设置HTTP响应头
        response.reset();//重置 响应头
        response.setContentType("application/x-download");//告知浏览器下载文件,而不是直接打开,浏览器默认为打开
        response.addHeader("Content-Disposition", "attachment;filename=" + finalFileName + "");//下载文件的名称
        byte[] bytes = new byte[2048];
        int len = 0;
        while ((len = fileInputStream.read(bytes)) > 0) {
            outputStream.write(bytes, 0, len);
        }
        fileInputStream.close();
        outputStream.close();

 

免责声明:本网部分文章和信息来源于互联网,本网转载出于传递更多信息和学习之目的,并不意味着赞同其观点或证实其内容的真实性,如有侵权请通知我们删除!(留言删除
 
 
更多>同类行业

同类新闻
最新资讯
最新发布
最受欢迎
网站首页  |  黄页  |  联系方式  |  信息  |  版权隐私  |  网站地图  |  API推送  |  网站留言  |  RSS订阅  |  违规举报  |  陇ICP备22000095号