文件下载(不创建文件,直接传到前台)

来源:互联网 发布:360 camera软件 编辑:程序博客网 时间:2024/05/21 14:52

文件下载

以前我写过用隐藏form表单下载文件,其实现创建文件,传回前台文件的地址,在通过这个文件地址实现下载,本次下载则直接下载略去中间步骤.
这是以前的文件下载:http://blog.csdn.net/java_trainee/article/details/73647806

java代码

String title = DateUtil.getNowDate (DATE_FORMAT) + "_图集信息";//定义文件名,之前代码省略,都是处理文件内容的代码String fileName = title + ".xml";//定义文件格式int bufferSize = 65000;//xmlContent就是文件的内容,反正是个字符串,你们自行处理byte[] bytes = xmlContent.getBytes ("utf-8"); ByteArrayInputStream inputstream = new ByteArrayInputStream (bytes);byte abyte0[] = new byte[bufferSize];response.setContentType ("application/octet-stream; charset=utf-8"); response.setContentLength ((int) bytes.length); response.setHeader ("Content-Disposition", "attachment;filename=" + new String (fileName.getBytes ("utf-8"), "ISO8859-1")); ServletOutputStream out = response.getOutputStream (); response.setCharacterEncoding ("utf-8"); int sum = 0; int k = 0; while ((k = inputstream.read (abyte0, 0, bufferSize)) > -1) {out.write (abyte0, 0, k); sum += k; } inputstream.close ();out.flush (); out.close ();