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日韩av天堂影片精品
|
国产卡一卡二卡三免费入口
|
亚洲av无码av制服另类专区
|
久热中文字幕在线精品免费
|
精品亚洲成a人在线观看
|
国产亚洲精品精华液
|
久久久高清免费视频
|
日产久久强奸免费的看
|
日产亚洲一区二区三区
|
免费永久国产在线视频
|
毛片在线播放免费观看
|
久久精品国产亚洲AV
|
亚洲视频在线观看免费视频
|
亚洲?V无码成人精品区日韩
|
91大神在线免费观看
|
免费精品国自产拍在线播放
|
亚洲天堂男人天堂
|
亚洲国产高清精品线久久
|
国产成人精品免费视
|
国产福利电影一区二区三区,免费久久久久久久精
|
91精品免费在线观看
|
久久九九免费高清视频
|
一本色道久久88—综合亚洲精品
|
国产亚洲美女精品久久久2020
|
大地资源二在线观看免费高清
|
免费国产成人α片
|
日韩a毛片免费观看
|
亚洲人成网站在线在线观看
|
亚洲人成在线电影
|
亚洲自偷自偷在线制服
|
四虎影视永久免费观看地址
|
日韩免费精品视频
|
91精品免费观看
|
午夜理伦剧场免费
|
中国极品美軳免费观看
|
国产成人高清亚洲一区久久
|