public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string fileName = context.Request.QueryString["fileName"];
string filePath = context.Request.MapPath("Files/" + fileName);
if (File.Exists(filePath))
{
//防止文件名中汉字特殊符号导致的乱码,encoder是呈现给客户端的所下载的文件名
string encoder = HttpUtility.UrlEncode(fileName);
//在响应头中增加Content-Disposition 表示以attachment形式下载注意attachment;filename是以分号分割
context.Response.AddHeader("Content-Disposition", $"attachment;filename={encoder}");
context.Response.WriteFile(filePath);
}
else
{
context.Response.Write($"{fileName}不存在!");
}
}
ASP.NET 文件下载功能代码
于 2023-06-16 09:13:37 首次发布