Thinking
快樂編程,開心生活
posts - 21, comments - 27, trackbacks - 0, articles - -5
BlogJava
::
首頁
::
新隨筆
::
聯系
::
聚合
::
管理
文件下載中的漢字編碼問題
Posted on 2007-02-07 14:32
lixw
閱讀(248)
評論(0)
編輯
收藏
?1
public
?
void
?doDownLoad(HttpServletRequest?request,?HttpServletResponse?response,?
?2
????????????String?absolutePath)?
{
?3
????????
?4
????????
//
設置響應頭信息
?5
????????response.setContentType(
"
application/octet-stream;charset=UTF-8
"
);?
?6
????????log.debug(
"
GET:?
"
?
+
?absolutePath);
?7
????????
?8
????????String?str?
=
?FilePathParseUtil.getFileNameByPath(absolutePath);
?9
????????
//
調用自定義的編碼函數,解決不同瀏覽器上對漢字編碼的處理
10
????????str?
=
?
this
.encodeFileName(request,?str)
==
null
?
str:
this
.encodeFileName(request,?str);
11
????????
//
設置response頭信息,從而顯示正確的文件名,并彈出另存對話框
12
????????response.setHeader(
"
Content-Disposition
"
,?
"
attachment;?filename=
"
?
13
????????????????
+
?str);
14
????????OutputStream?out?
=
?
null
;
15
????????
try
{
16
????????????
//
從response得到輸出流,從而向客戶端寫出文件
17
????????????out?
=
?response.getOutputStream();
18
????????}
catch
(IOException?e)
{
19
????????????log.error(
"
output?stream?is?null
"
);
20
????????????e.printStackTrace();
21
????????}
22
????????
this
.doDownLoad(out,?absolutePath);
23
????}
24
????
25
????
/**?*/
/**
26
?????*?根據不同瀏覽器對文件名進行編碼
27
?????*?
@param
?request?客戶端請求
28
?????*?
@param
?fileName?文件名
29
?????*?
@return
?編碼后的文件名
30
?????
*/
31
????
public
?String?encodeFileName(HttpServletRequest?request,?String?fileName)
{???
32
????????String?agent?
=
?request.getHeader(
"
USER-AGENT
"
);
33
????????
try
{
34
????????????
if
?(
null
?
!=
?agent?
&&
?
-
1
?
!=
?agent.indexOf(
"
MSIE
"
))?
{???
35
????????????????
return
?URLEncoder.encode(fileName,?
"
UTF-8
"
);???
36
????????????}
else
?
if
?(
null
?
!=
?agent?
&&
?
-
1
?
!=
?agent.indexOf(
"
Mozilla
"
))?
{???
37
????????????????
return
?
"
=?UTF-8?B?
"
+
38
????????????????????????
new
?String(
39
????????????????????????????????Base64.encodeBase64(
40
????????????????????????????????????fileName.getBytes(
"
UTF-8
"
)
41
????????????????????????????????)
42
????????????????????????)?
+
?
"
?=
"
;???
43
????????????}
?
else
?
{???
44
????????????????
return
?fileName;???
45
????????????}
46
????????}
catch
(UnsupportedEncodingException?e)
{
47
????????????
return
?
null
;
48
????????}
49
????}
??
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
網站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
Powered by:
BlogJava
Copyright © lixw
日歷
<
2007年2月
>
日
一
二
三
四
五
六
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
1
2
3
4
5
6
7
8
9
10
留言簿
(1)
給我留言
查看公開留言
查看私人留言
相冊
一升的眼淚
最愛籃球
搜索
最新評論
1.?re: 利用DWR實現文件上傳進度條
很不錯
--shenw
2.?re: 張曉風-綠色的書簡
亦秀亦豪,讓人感動!
--lixw
3.?re: 多線程監聽文件改動
有沒有辦法做個監聽程序放到服務器里自動運行?
--elary
4.?re: struts2學習Tips
評論內容較長,點擊標題查看
--kawaii
5.?re: struts2學習Tips
評論內容較長,點擊標題查看
--kawaii
主站蜘蛛池模板:
成人av免费电影
|
国产精品久久永久免费
|
免费一级大黄特色大片
|
亚洲人成人网站18禁
|
日韩免费视频播播
|
亚洲AV无码XXX麻豆艾秋
|
日本高清免费不卡在线
|
综合一区自拍亚洲综合图区
|
9久热精品免费观看视频
|
亚洲精品国产电影
|
久久成人永久免费播放
|
亚洲AV无码一区二区三区系列
|
国产精品区免费视频
|
中文字幕亚洲综合精品一区
|
91av视频免费在线观看
|
亚洲精品人成网在线播放影院
|
嫩草影院在线免费观看
|
人妻无码中文字幕免费视频蜜桃
|
亚洲午夜福利精品无码
|
日本免费在线中文字幕
|
亚洲日本乱码一区二区在线二产线
|
美国免费高清一级毛片
|
中文字幕亚洲无线码a
|
日韩电影免费在线观看
|
亚洲人色大成年网站在线观看
|
天天摸天天操免费播放小视频
|
色噜噜噜噜亚洲第一
|
国产成人亚洲综合无码精品
|
无码欧精品亚洲日韩一区夜夜嗨
|
亚洲丁香色婷婷综合欲色啪
|
在线a免费观看最新网站
|
日本亚洲免费无线码
|
亚洲视频在线播放
|
毛片免费在线播放
|
国产裸体美女永久免费无遮挡
|
亚洲伦理一区二区
|
热99re久久免费视精品频软件
|
人体大胆做受免费视频
|
亚洲色图综合网站
|
亚洲Aⅴ无码一区二区二三区软件 亚洲AⅤ视频一区二区三区
|
一本久到久久亚洲综合
|