最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

asp.net 上傳或下載當(dāng)文件名包含有特殊字符"#"的處理

 更新時(shí)間:2010年03月10日 22:57:30   作者:  
在上傳或下載文件時(shí),當(dāng)文件名包含有"#"特殊字符時(shí),上傳以后的文件會(huì)被改名字,造成下載也下載不了。
如類似以下的代碼:
復(fù)制代碼 代碼如下:

Uri uri = new Uri(targetUrl);//targetUrl對(duì)應(yīng)文件的絕對(duì)路徑
System.Net.HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
request.Method = "PUT";
request.Credentials = System.Net.CredentialCache.DefaultCredentials;
request.ContentLength = stream.Length;

文件名為:fr#32%.xls (excel附件)
上傳到服務(wù)器上,發(fā)現(xiàn)變成fr.xls了,文件名不對(duì),所以就造成下載不了。
原因在于:一些 URI 包括段標(biāo)識(shí)符或查詢。段標(biāo)識(shí)符是 URI 中跟在數(shù)字符號(hào) (#) 后的任何文本,存儲(chǔ)在 Fragment 屬性中。
查詢信息是 URI 中跟在問(wèn)號(hào) (?) 后的任何文本,存儲(chǔ)在 Query 屬性中。也就是說(shuō),Uri類會(huì)對(duì)文件路徑#號(hào)后面的內(nèi)容進(jìn)行拆分存放。
而且,Uri中的相關(guān)屬性也只讀(ReadOnly)的,那么就只能通過(guò)其它路徑來(lái)修改了。
解決方法:
UriBuilder 類,為統(tǒng)一資源標(biāo)識(shí)符 (URI) 提供自定義構(gòu)造函數(shù),并修改 Uri 類的 URI。跟Uri 的功能一樣,但它的相關(guān)屬性可以進(jìn)行設(shè)置。
修改后的代碼如下:
復(fù)制代碼 代碼如下:

Uri uri = WebHelper.ProcessSpecialCharacters(targetUrl);//targetUrl對(duì)應(yīng)文件的絕對(duì)路徑
System.Net.HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
request.Method = "PUT";
request.Credentials = System.Net.CredentialCache.DefaultCredentials;
request.ContentLength = stream.Length;
/// <summary>
/// 當(dāng)上傳或下載的文件名包含有特殊字符"#"時(shí),需要執(zhí)行以下的函數(shù)進(jìn)行處理
/// </summary>
/// <param name="Url"></param>
/// <returns></returns>
private static Uri ProcessSpecialCharacters(string Url)
{
Uri uriTarget = new Uri(Url);
if (!Url.Contains("#"))
{
return uriTarget;
}
UriBuilder msPage = new UriBuilder();
msPage.Host = uriTarget.Host;
msPage.Scheme = uriTarget.Scheme;
msPage.Port = uriTarget.Port;
msPage.Path = uriTarget.LocalPath + uriTarget.Fragment;
msPage.Fragment = uriTarget.Fragment;
Uri uri = msPage.Uri;
return uri;
}
Uri uri = new Uri(targetUrl);//targetUrl對(duì)應(yīng)文件的絕對(duì)路徑

相關(guān)文章

  • asp.net音頻轉(zhuǎn)換之.amr轉(zhuǎn).mp3(利用ffmpeg轉(zhuǎn)換法)

    asp.net音頻轉(zhuǎn)換之.amr轉(zhuǎn).mp3(利用ffmpeg轉(zhuǎn)換法)

    AMR轉(zhuǎn)MP3可實(shí)現(xiàn)將手機(jī)上的AMR錄音轉(zhuǎn)換成流行的MP3格式,以適用更廣泛的應(yīng)用。AMR的體積非常小,適用于存儲(chǔ)在手機(jī)中,當(dāng)我們想將在手機(jī)上的音頻上傳到網(wǎng)絡(luò),就需要將其轉(zhuǎn)換成MP3等流行的格式,本文就是介紹asp.net利用ffmpeg轉(zhuǎn)換法將.amr轉(zhuǎn).mp3的方法,下面來(lái)一起看看吧。
    2016-12-12
  • ASP.NET在IIS上注冊(cè)報(bào)0x800702e4錯(cuò)誤解決方法

    ASP.NET在IIS上注冊(cè)報(bào)0x800702e4錯(cuò)誤解決方法

    報(bào)一個(gè)0x800702e4 請(qǐng)求的操作需要提升的錯(cuò)誤。解決的方法和前面大同小異,給這個(gè)aspnet_regiis.exe創(chuàng)建一個(gè)快捷方式,給它的目標(biāo)后面加上 一個(gè)-i,再右擊這個(gè)快捷方式,以管理員身份運(yùn)行,就行了
    2012-08-08
  • Visual Studio.Net 內(nèi)幕(7)

    Visual Studio.Net 內(nèi)幕(7)

    Visual Studio.Net 內(nèi)幕(7)...
    2006-09-09
  • WPF圖片按鈕的實(shí)現(xiàn)方法

    WPF圖片按鈕的實(shí)現(xiàn)方法

    這篇文章主要為大家詳細(xì)介紹了WPF圖片按鈕的實(shí)現(xiàn)方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • .NET關(guān)于API 句柄泄漏分析

    .NET關(guān)于API 句柄泄漏分析

    本文主要介紹了.NET關(guān)于API 句柄泄漏分析,文中結(jié)合代碼與圖片講解的非常詳細(xì),感興趣的小伙伴可以自行參考一下
    2021-08-08
  • 為WPF框架Prism注冊(cè)Nlog日志服務(wù)

    為WPF框架Prism注冊(cè)Nlog日志服務(wù)

    這篇文章介紹了為WPF框架Prism注冊(cè)Nlog日志服務(wù)的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-02-02
  • 基于.Net?Core認(rèn)證授權(quán)方案之JwtBearer認(rèn)證

    基于.Net?Core認(rèn)證授權(quán)方案之JwtBearer認(rèn)證

    這篇文章介紹了基于.Net?Core認(rèn)證授權(quán)方案之JwtBearer認(rèn)證,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • Asp.net中使用文本框的值動(dòng)態(tài)生成控件的方法

    Asp.net中使用文本框的值動(dòng)態(tài)生成控件的方法

    這篇文章主要介紹了Asp.net中使用文本框的值動(dòng)態(tài)生成控件的方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-05-05
  • asp.net GridView中使用RadioButton單選按鈕的方法

    asp.net GridView中使用RadioButton單選按鈕的方法

    這篇文章主要介紹了asp.net GridView中使用RadioButton單選按鈕的方法,結(jié)合實(shí)例形式總結(jié)分析了三種GridView中使用RadioButton單選按鈕的實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2016-07-07

最新評(píng)論

自贡市| 玛纳斯县| 彰化县| 同心县| 永寿县| 页游| 芮城县| 天全县| 龙里县| 理塘县| 临颍县| 林西县| 紫阳县| 石台县| 谷城县| 建瓯市| 塔城市| 宜阳县| 孝昌县| 亚东县| 大余县| 维西| 东源县| 仁化县| 恩平市| 青海省| 达日县| 彭山县| 高安市| 涞源县| 大关县| 唐山市| 荥阳市| 莱州市| 新龙县| 读书| 西青区| 辽宁省| 大冶市| 镇康县| 东港市|