如何使用ASP.NET实现文件下载

发布时间:2024-12-10 09:22:24 作者:小樊
来源:亿速云 阅读:88

在ASP.NET中实现文件下载,可以通过以下几种方法:

  1. 使用Response对象:
protected void DownloadButton_Click(object sender, EventArgs e)
{
    // 设置文件路径
    string filePath = Server.MapPath("~/Files/Sample.txt");

    // 检查文件是否存在
    if (File.Exists(filePath))
    {
        // 设置响应头信息
        Response.Clear();
        Response.ContentType = "application/octet-stream";
        Response.AddHeader("Content-Disposition", "attachment;filename=" + Path.GetFileName(filePath));
        Response.AddHeader("Content-Length", File.GetLength(filePath).ToString());

        // 读取文件并写入响应流
        using (FileStream fileStream = new FileStream(filePath, FileMode.Open))
        {
            Response.OutputStream.Write(fileStream.ToArray(), 0, fileStream.ToArray().Length);
            Response.Flush();
            Response.End();
        }
    }
    else
    {
        // 文件不存在时的提示
        Response.Write("文件不存在!");
    }
}
  1. 使用FileResult方法(ASP.NET Core MVC):
[HttpGet]
public IActionResult Download()
{
    // 设置文件路径
    string filePath = Path.Combine(Directory.GetCurrentDirectory(), "Files", "Sample.txt");

    // 检查文件是否存在
    if (File.Exists(filePath))
    {
        // 设置文件名
        var fileName = Path.GetFileName(filePath);

        // 返回文件下载结果
        return File(System.IO.File.ReadAllBytes(filePath), "application/octet-stream", fileName);
    }
    else
    {
        // 文件不存在时的提示
        return NotFound();
    }
}

这两种方法都可以实现在ASP.NET中下载文件。第一种方法适用于传统的ASP.NET Web Forms项目,第二种方法适用于ASP.NET Core MVC项目。请根据您的项目类型选择合适的方法。

推荐阅读:
  1. asp.net下载超大文件代码
  2. ASP.NET批量下载文件

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

asp

上一篇:ASP开发中如何提高代码复用性

下一篇:ASP.NET Web Forms控件如何使用

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》