浏览 3745 次
锁定老帖子 主题:文件下载时文件名过长导致截断的问题
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2008-05-05
解决方法: 文件名先用“GB2312”编码,然后用“ISO8859_1”解码. 代码例子: filename=URLEncoder.encode(filename,"GB2312"); filename=URLDecoder.decode(filename, "ISO8859_1"); response.setContentType("application/x-msdownload"); response.setHeader("Content-disposition","attachment; filename="+filename); // 直接用IE打开 //response.setHeader("Content-disposition", "filename=" + filename); BufferedInputStream bis = null; BufferedOutputStream bos = null; try { bis = new BufferedInputStream(new FileInputStream( Constants.listFilePath + directoryname + "\\" + filename1)); bos = new BufferedOutputStream(response.getOutputStream()); byte[] buff = new byte[2048]; int bytesRead; while (-1 != (bytesRead = bis.read(buff, 0, buff.length))) { bos.write(buff, 0, bytesRead); } bos.flush(); } catch (final IOException e) { log.error(e.toString()); } 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-07-10
按照你说的还是不行呀
|
|
返回顶楼 | |