国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

怎么解決鏈接下載出現(xiàn)亂碼的問題

2024-07-10 11:55:57
字體:
來源:轉載
供稿:網(wǎng)友

導讀:很多時候,我們使用直連方式做下載,但是有時候會出現(xiàn)亂碼,這是為什么呢?

在網(wǎng)站上文件下載都是直接點擊文件聯(lián)接就行了,這種方法有幾個弊端:

(1) 有些文件不會下載會直接調(diào)用相應的程序打開該文件

(2)不能隱藏實際文件地址。

(3)不能夠從數(shù)據(jù)庫中動態(tài)讀取文件名進行改名下載

下面是asp.net,c#代碼:

string fileName;  //文件在數(shù)據(jù)庫中的名稱
        string dir ;   //文件在服務器的物理路徑(如c:/aa/ddd/wj0000222.zdo)
        long size ;   //文件的大小
        Response.AddHeader(”content-type”, “application/x-msdownload;”);
        Response.AddHeader(”Content-Disposition”,”attachment;filename=” + fileName[自己定義的]);
        Response.AddHeader(”content-length”, size.ToString());
       Response.WriteFile(dir,0,size);

這種方法可以實現(xiàn)以上的目的,但是當文件名(fileName)為中文時在ie下載端顯示的是亂碼,那么如何解決這個問題呢。

 其實上面給出的方法是可行的,但有局限性。關鍵在于UrlEncode這個東東,在下面不同情況下的結果是不一樣的   

1)web.config  里responseEncoding=”gb2312″     
        2)web.config  里responseEncoding=”utf-8″   

 使用Server.UrlEncode的話必須responseEncoding=”utf-8″才會正確。 所以不要用Server.UrlEncode,換HttpUtility.UrlEncode:

 string   s=HttpUtility.UrlEncode(System.Text.UTF8Encoding.UTF8.GetBytes(”中文.txt”)); 
         Response.AppendHeader(”Content-Disposition”,  "attachment;  filename=”  +  s);

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 胶南市| 安多县| 策勒县| 安徽省| 斗六市| 瑞丽市| 台山市| 平凉市| 朝阳县| 马边| 正阳县| 环江| 淮北市| 九龙县| 元朗区| 大姚县| 建瓯市| 云林县| 志丹县| 伊宁县| 新龙县| 瑞昌市| 平潭县| 辽阳县| 句容市| 阿拉善右旗| 南部县| 广东省| 东阳市| 乌拉特中旗| 远安县| 兰坪| 浑源县| 兰坪| 三河市| 桐庐县| 台州市| 江源县| 通州市| 东乌珠穆沁旗| 沈阳市|