首頁  >  文章  >  後端開發  >  C#相容於各大瀏覽器的文件下載實例詳解

C#相容於各大瀏覽器的文件下載實例詳解

巴扎黑
巴扎黑原創
2017-05-15 10:19:102634瀏覽

本文跟大家分享一段實例程式碼關於css實作檔案下載功能,需要的朋友參考下吧

#1、css程式碼

public void DownFile(string filePath ,string fileName )
{
 // filePath 文件路径 例如:/File/记录.xlsx 
 // fileName 文件名称 例如:记录.xlsx (要后缀哦)
Encoding encoding; // 申明编码
string outputFileName; // 输出名字
Debug.Assert(HttpContext.ApplicationInstance.Request.UserAgent != null, "HttpContext.ApplicationInstance.Request.UserAgent != null");
string browser = HttpContext.ApplicationInstance.Request.UserAgent.ToUpper();
// 微软的浏览器和ie过滤
if (browser.Contains("MS") && browser.Contains("IE"))
{
outputFileName = HttpUtility.UrlEncode(filePath);
encoding = Encoding.Default;
}
//火狐
else if (browser.Contains("FIREFOX"))
{
outputFileName = fileName;
encoding = Encoding.GetEncoding("GB2312");
}
else
{
outputFileName = HttpUtility.UrlEncode(fileName);
encoding = Encoding.Default;
}
string absoluFilePath = Server.MapPath(filePath); //获取上传文件路径
FileStream fs = new FileStream(absoluFilePath, FileMode.Open);
byte[] bytes = new byte[(int)fs.Length];
fs.Read(bytes, 0, bytes.Length);
fs.Close(); //关闭流,释放资源
HttpContext.ApplicationInstance.Response.Clear();
HttpContext.ApplicationInstance.Response.Buffer = true;
HttpContext.ApplicationInstance.Response.ContentEncoding = encoding;
HttpContext.ApplicationInstance.Response.AddHeader("Content-Disposition", string.Format("attachment; filename={0}", string.IsNullOrEmpty(outputFileName) ? DateTime.Now.ToString("yyyyMMddHHmmssfff") : outputFileName));
Response.BinaryWrite(bytes);
Response.Flush();
HttpContext.ApplicationInstance.Response.End();
}

## 2.html程式碼前端HTML 寫一個a標籤就好:如3ff2144131a56e0ccd0e1d0a0cba0368檔案下載5db79b134e9f6b82c0b36e0489ee08ed

【相關推薦】

1.

特別推薦「php程式設計師工具箱”V0.1版本下載

############2. ###ASP免費影片教學################3. # ##李炎恢ASP基礎影片教學#########

以上是C#相容於各大瀏覽器的文件下載實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn