C#文件下载实例代码(适用于各个浏览器)
1、cs代码
publicvoidDownFile(stringfilePath,stringfileName) { //filePath文件路径例如:/File/记录.xlsx //fileName文件名称例如:记录.xlsx(要后缀哦) Encodingencoding;//申明编码 stringoutputFileName;//输出名字 Debug.Assert(HttpContext.ApplicationInstance.Request.UserAgent!=null,"HttpContext.ApplicationInstance.Request.UserAgent!=null"); stringbrowser=HttpContext.ApplicationInstance.Request.UserAgent.ToUpper(); //微软的浏览器和ie过滤 if(browser.Contains("MS")&&browser.Contains("IE")) { outputFileName=HttpUtility.UrlEncode(filePath); encoding=Encoding.Default; } //火狐 elseif(browser.Contains("FIREFOX")) { outputFileName=fileName; encoding=Encoding.GetEncoding("GB2312"); } else { outputFileName=HttpUtility.UrlEncode(fileName); encoding=Encoding.Default; } stringabsoluFilePath=Server.MapPath(filePath);//获取上传文件路径 FileStreamfs=newFileStream(absoluFilePath,FileMode.Open); byte[]bytes=newbyte[(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标签就好:如
以上所述是小编给大家介绍的C#文件下载实例代码(适用于各个浏览器),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!