博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringMVC 文本文件下载的配置
阅读量:5959 次
发布时间:2019-06-19

本文共 2404 字,大约阅读时间需要 8 分钟。

页面:

Download annotator list
 

 

JS代码:

$("#downloadAnnotatorListCsvImg").click(        function(){            var wnd=openCenterWindow(APP_NAME+"downloadAnnotatorListCsv.html","Download Annotator List in CSV format",400,300);        }    );var APP_NAME="/rttsbiz2/";function openCenterWindow(url,windowName,width,height){    var left = (window.screen.availWidth-10-width)/2;         var top = (window.screen.availHeight-30-height)/2;                 var wnd=window.open(url,windowName,"height="+height+",width="+width+",top="+top+",left="+left+",resizable=yes,scrollbars=yes,status=no,location=no,");    return wnd;}

 

Controller代码:

@RequestMapping("/downloadAnnotatorListCsv")    public ModelAndView download(HttpServletRequest request,HttpServletResponse response){                String fileName="download-single.txt";                response.reset();// 不加这一句的话会出现下载错误         response.setHeader("Content-disposition", "attachment; filename="+fileName);// 设定输出文件头           response.setContentType("text/x-plain");// 定义输出类型                 try {            ServletOutputStream out = response.getOutputStream();                        String path = System.getProperty("java.io.tmpdir") + "\\poem.txt";            File file = new File(path);            FileOutputStream fos = new FileOutputStream(file);               Writer writer = new OutputStreamWriter(fos, "utf-8");                           String text="Hello!download!";            writer.write(text);               writer.close();               fos.close();                          FileInputStream fis = new java.io.FileInputStream(file);            ByteArrayOutputStream byteOutputStream = new ByteArrayOutputStream(4096);                        byte[] cache = new byte[4096];            for (int offset = fis.read(cache); offset != -1; offset = fis.read(cache)) {                    byteOutputStream.write(cache, 0, offset);            }                        byte[] bt = null;            bt = byteOutputStream.toByteArray();                                       out.write(bt);            out.flush();            out.close();            fis.close();            if(file.exists()){                file.delete();            }                    } catch (Exception e) {            // TODO Auto-generated catch block            e.printStackTrace();        }                        return null;    }}

只是记录一下。

转载地址:http://oquax.baihongyu.com/

你可能感兴趣的文章
从前后端分离到GraphQL,携程如何用Node实现?\n
查看>>
Linux Namespace系列(09):利用Namespace创建一个简单可用的容器
查看>>
博客搬家了
查看>>
Python中使用ElementTree解析xml
查看>>
jquery 操作iframe、frameset
查看>>
解决vim中不能使用小键盘
查看>>
jenkins权限管理,实现不同用户组显示对应视图views中不同的jobs
查看>>
我的友情链接
查看>>
CentOS定时同步系统时间
查看>>
批量删除用户--Shell脚本
查看>>
Eclipse Java @Override 报错
查看>>
知道双字节码, 如何获取汉字 - 回复 "pinezhou" 的问题
查看>>
linux中cacti和nagios整合
查看>>
Python高效编程技巧
查看>>
Kafka服务端脚本详解(1)一topics
查看>>
js中var self=this的解释
查看>>
面试题
查看>>
Facebook 接入之获取各个配置参数
查看>>
linux的日志服务器关于屏蔽一些关键字的方法
查看>>
事情的两面性
查看>>