佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > ASP.NET 在下載文件時對其重命名的思路及實現(xiàn)方法

ASP.NET 在下載文件時對其重命名的思路及實現(xiàn)方法

熱門標簽:國美全國運營中心 電銷業(yè)務(wù) 網(wǎng)站排名優(yōu)化 科大訊飛語音識別系統(tǒng) 人工智能 百度AI接口 電商新玩法 客戶服務(wù)
有些時候為了保證文件再上傳時不會覆蓋掉之前上傳的文件,同時由于上傳的目標目錄里的文件可能很多,這個時候一個一個查是不太好的事情,所以這里可以自動生成GUID使文件名重命名成GUID_原來的名稱.擴展名。但是在下載的時候最好可能保證恢復(fù)到原來的名稱。這個時候聽傷神的。搜了一下相關(guān)資料后得知可使用response來解決。具體代碼如下。

[csharp] 
復(fù)制代碼 代碼如下:

pre name="code" class="csharp">string path = Server.MapPath("aa\\ahaakladahsasdas_bb.zip"); 
            string newfileName = ""; 
            if (File.Exists(path)) 
            { 
                FileInfo fi = new FileInfo(path); 
                Response.Clear();//Clear 方法刪除緩沖區(qū)中的所有 HTML 輸出。但 Clear 方法只刪除響應(yīng)正文 
                //而不刪除響應(yīng)標題??梢杂迷摲椒ㄌ幚礤e誤情況。 
                Response.ClearHeaders(); 
                Response.Buffer = false;//這句話的意思就是指明輸出頁面是否被緩沖,當屬性值為True時, 
                //服務(wù)器將不會向客戶端發(fā)送任何信息,直到所有程序執(zhí)行完或者遇到  
                //Response.Flush或Response.End語句,才會釋放緩沖區(qū)的信息。 
                string filename = Path.GetFileName(path); 
                newfileName = newfileName + filename.Substring(filename.LastIndexOf(".")); 
                Response.Clear(); 
                Response.ClearHeaders(); 
                Response.Buffer = false; 

                newfileName = HttpUtility.UrlEncode(newfileName);// 這一步彈出下載保存的對話框,出現(xiàn)文件名亂碼,但變量中的文件名是正常的。   
                Response.AppendHeader("Content-Disposition", "attachment;filename=" + newfileName);//為用戶保存文件是顯示的名稱 
                //告訴客戶端這個響應(yīng)內(nèi)容的類型為attachment 你是通過Response.AppendHeader("content-type", "attachment"); 申明的。 

                Response.AppendHeader("Content-Length", fi.Length.ToString()); 
                Response.ContentType = "application/octet-stream"; 
                Response.WriteFile(newfileName);//用response來返回文件的路徑   
                Response.Flush();//清空response   
                Response.End(); 
                //Response.End(); 如果拋異常的話可使用 
                //HttpContext.Current.ApplicationInstance.CompleteRequest(); 
            } 
            else 
            { 
                Response.Write("script langauge=javascript>alert(‘文件不存在!');/script>"); 
            }

/pre>br> 
br> 
pre>/pre> 
p>/p> 
pre>/pre> 
p>/p> 
pre>/pre> 
您可能感興趣的文章:
  • ASP.NET Web Api 2實現(xiàn)多文件打包并下載文件的實例
  • ASP.NET(C#) Web Api通過文件流下載文件的實例
  • ASP.NET批量下載文件的方法
  • asp.net C#實現(xiàn)下載文件的六種方法實例
  • ASP.NET中下載文件的幾種實例代碼
  • 在ASP.NET中下載文件的實現(xiàn)代碼
  • asp.net BackgroundWorker之在后臺下載文件
  • asp.net 下載文件時根據(jù)MIME類型自動判斷保存文件的擴展名
  • asp.net 下載文件時輸出文件內(nèi)容
  • asp.net Web Services上傳和下載文件(完整代碼)
  • ASP.NET實現(xiàn)從服務(wù)器下載文件問題處理

標簽:POS機 棗莊 益陽 攀枝花 拉薩 南平 咸寧 廈門

巨人網(wǎng)絡(luò)通訊聲明:本文標題《ASP.NET 在下載文件時對其重命名的思路及實現(xiàn)方法》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    嵊泗县| 许昌市| 惠来县| 高陵县| 那坡县| 邛崃市| 丰台区| 轮台县| 嵊州市| 宝清县| 神木县| 环江| 麻城市| 宁明县| 吉安县| 徐汇区| 麻江县| 平山县| 余江县| 高唐县| 怀柔区| 阳城县| 阳春市| 金沙县| 三河市| 寻乌县| 寿光市| 屏南县| 宣化县| 元朗区| 高安市| 湛江市| 西安市| 城口县| 安多县| 石渠县| 新建县| 岳阳市| 景德镇市| 都匀市| 堆龙德庆县|