Thinking
快樂編程,開心生活
posts - 21, comments - 27, trackbacks - 0, articles - -5
BlogJava
::
首頁
::
新隨筆
::
聯(lián)系
::
聚合
::
管理
文件下載中的漢字編碼問題
Posted on 2007-02-07 14:32
lixw
閱讀(248)
評論(0)
編輯
收藏
?1
public
?
void
?doDownLoad(HttpServletRequest?request,?HttpServletResponse?response,?
?2
????????????String?absolutePath)?
{
?3
????????
?4
????????
//
設(shè)置響應(yīng)頭信息
?5
????????response.setContentType(
"
application/octet-stream;charset=UTF-8
"
);?
?6
????????log.debug(
"
GET:?
"
?
+
?absolutePath);
?7
????????
?8
????????String?str?
=
?FilePathParseUtil.getFileNameByPath(absolutePath);
?9
????????
//
調(diào)用自定義的編碼函數(shù),解決不同瀏覽器上對漢字編碼的處理
10
????????str?
=
?
this
.encodeFileName(request,?str)
==
null
?
str:
this
.encodeFileName(request,?str);
11
????????
//
設(shè)置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
?????*?根據(jù)不同瀏覽器對文件名進(jìn)行編碼
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
????}
??
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發(fā)表評論。
網(wǎng)站導(dǎo)航:
博客園
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實(shí)現(xiàn)文件上傳進(jìn)度條
很不錯
--shenw
2.?re: 張曉風(fēng)-綠色的書簡
亦秀亦豪,讓人感動!
--lixw
3.?re: 多線程監(jiān)聽文件改動
有沒有辦法做個監(jiān)聽程序放到服務(wù)器里自動運(yùn)行?
--elary
4.?re: struts2學(xué)習(xí)Tips
評論內(nèi)容較長,點(diǎn)擊標(biāo)題查看
--kawaii
5.?re: struts2學(xué)習(xí)Tips
評論內(nèi)容較長,點(diǎn)擊標(biāo)題查看
--kawaii
主站蜘蛛池模板:
国产AV无码专区亚洲AV麻豆丫
|
最近免费中文字幕视频高清在线看
|
好爽又高潮了毛片免费下载
|
亚洲看片无码在线视频
|
jlzzjlzz亚洲乱熟在线播放
|
青青草免费在线视频
|
永久在线观看免费视频
|
牛牛在线精品观看免费正
|
亚洲精品天堂无码中文字幕
|
亚洲欧洲精品一区二区三区
|
亚洲一区无码中文字幕
|
全部免费毛片在线
|
午夜一区二区免费视频
|
韩国免费一级成人毛片
|
人妻丰满熟妇无码区免费
|
aaa毛片视频免费观看
|
一级午夜a毛片免费视频
|
久久亚洲精品无码网站
|
亚洲日产乱码一二三区别
|
亚洲国产精品综合久久网各
|
亚洲综合男人的天堂色婷婷
|
亚洲AV午夜福利精品一区二区
|
亚洲精品国产精品乱码不卡
|
免费a在线观看播放
|
国产猛烈高潮尖叫视频免费
|
成年大片免费视频
|
在线播放免费人成视频在线观看
|
91成人免费在线视频
|
四虎在线视频免费观看视频
|
亚洲免费在线播放
|
182tv免费观看在线视频
|
亚洲免费在线观看视频
|
亚洲精品午夜久久久伊人
|
亚洲精品乱码久久久久久下载
|
亚洲制服中文字幕第一区
|
日本免费福利视频
|
国产真实伦在线视频免费观看
|
日本高清免费不卡视频
|
国产无遮挡吃胸膜奶免费看视频
|
国产色婷婷精品免费视频
|
www.亚洲色图
|