首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 操作系统 >

文件下载:"Content-disposition""attachment; filename=中文名>>>解决

2013-07-04 
文件下载:Content-disposition,attachment filename中文名解决方案而不是另外弹出并打开Excel文件

文件下载:"Content-disposition","attachment; filename=中文名>>>解决方案


而不是另外弹出并打开Excel文件。解决办法是:(程序片段)

??????? String as="我明白了.xls";
??????? String fileName =as;// = java.net.URLEncoder.encode(as, "UTF-8");
????????/*根据request的locale 得出可能的编码,中文操作系统通常是gb2312*/
??????????? fileName = new String(as.getBytes("GB2312"), "ISO_8859_1");????? ?bis = new BufferedInputStream(new FileInputStream(dirFile));
???? ?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);
???????? }
???? } catch(final IOException e) {
???????? System.out.println ( "出现IOException." + e );
???? } finally {
???????? if (bis != null)
???????????? bis.close();
???????? if (bos != null)
???????????? bos.close();
???? }

程序段中最关键的一句:

new String(as.getBytes("GB2312"), "ISO_8859_1");?

这样就可以下载时用中文名称了,并且是另外打开Excel文件的。

热点排行