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

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

熱門(mén)標(biāo)簽:電銷語(yǔ)音自動(dòng)機(jī)器人 地圖標(biāo)注和認(rèn)領(lǐng) 萊蕪?fù)夂綦婁N機(jī)器人價(jià)格 戶外地圖標(biāo)注軟件手機(jī)哪個(gè)好用 凱立德導(dǎo)航官網(wǎng)地圖標(biāo)注 長(zhǎng)春呼叫中心外呼系統(tǒng)哪家好 智能電話營(yíng)銷外呼系統(tǒng) 鄭州400電話辦理 聯(lián)通 五常地圖標(biāo)注
有些時(shí)候?yàn)榱吮WC文件再上傳時(shí)不會(huì)覆蓋掉之前上傳的文件,同時(shí)由于上傳的目標(biāo)目錄里的文件可能很多,這個(gè)時(shí)候一個(gè)一個(gè)查是不太好的事情,所以這里可以自動(dòng)生成GUID使文件名重命名成GUID_原來(lái)的名稱.擴(kuò)展名。但是在下載的時(shí)候最好可能保證恢復(fù)到原來(lái)的名稱。這個(gè)時(shí)候聽(tīng)傷神的。搜了一下相關(guān)資料后得知可使用response來(lái)解決。具體代碼如下。

[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)標(biāo)題??梢杂迷摲椒ㄌ幚礤e(cuò)誤情況。 
                Response.ClearHeaders(); 
                Response.Buffer = false;//這句話的意思就是指明輸出頁(yè)面是否被緩沖,當(dāng)屬性值為T(mén)rue時(shí), 
                //服務(wù)器將不會(huì)向客戶端發(fā)送任何信息,直到所有程序執(zhí)行完或者遇到  
                //Response.Flush或Response.End語(yǔ)句,才會(huì)釋放緩沖區(qū)的信息。 
                string filename = Path.GetFileName(path); 
                newfileName = newfileName + filename.Substring(filename.LastIndexOf(".")); 
                Response.Clear(); 
                Response.ClearHeaders(); 
                Response.Buffer = false; 

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

                Response.AppendHeader("Content-Length", fi.Length.ToString()); 
                Response.ContentType = "application/octet-stream"; 
                Response.WriteFile(newfileName);//用response來(lái)返回文件的路徑   
                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實(shí)現(xiàn)多文件打包并下載文件的實(shí)例
  • ASP.NET(C#) Web Api通過(guò)文件流下載文件的實(shí)例
  • ASP.NET批量下載文件的方法
  • asp.net C#實(shí)現(xiàn)下載文件的六種方法實(shí)例
  • ASP.NET中下載文件的幾種實(shí)例代碼
  • 在ASP.NET中下載文件的實(shí)現(xiàn)代碼
  • asp.net BackgroundWorker之在后臺(tái)下載文件
  • asp.net 下載文件時(shí)根據(jù)MIME類型自動(dòng)判斷保存文件的擴(kuò)展名
  • asp.net 下載文件時(shí)輸出文件內(nèi)容
  • asp.net Web Services上傳和下載文件(完整代碼)
  • ASP.NET實(shí)現(xiàn)從服務(wù)器下載文件問(wèn)題處理

標(biāo)簽:西藏 岳陽(yáng) 宣城 紅河 湖州 衢州 福州 西寧

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ASP.NET 在下載文件時(shí)對(duì)其重命名的思路及實(shí)現(xiàn)方法》,本文關(guān)鍵詞  ASP.NET,在,下載,文件,時(shí),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《ASP.NET 在下載文件時(shí)對(duì)其重命名的思路及實(shí)現(xiàn)方法》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于ASP.NET 在下載文件時(shí)對(duì)其重命名的思路及實(shí)現(xiàn)方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章