溫馨提示×

asp.netpost 如何處理文件下載

小樊
123
2024-12-06 10:46:03
欄目: 編程語言

在ASP.NET中處理文件下載,通常需要以下幾個步驟:

  1. 創建一個HTTP響應對象,設置Content-Disposition頭,以便告訴瀏覽器這是一個文件下載請求。
  2. 讀取文件并將其內容寫入響應輸出流。
  3. 關閉響應輸出流。

以下是一個簡單的示例,展示了如何在ASP.NET中處理文件下載:

using System;
using System.IO;
using System.Web.Http;

public class DownloadController : ApiController
{
    [HttpGet]
    public IHttpActionResult DownloadFile(string fileName)
    {
        // 指定文件路徑
        string filePath = Path.Combine(Server.MapPath("~/Files"), fileName);

        // 檢查文件是否存在
        if (!File.Exists(filePath))
        {
            return NotFound();
        }

        // 設置響應頭
        Response.Clear();
        Response.ContentType = File.GetContentType(filePath);
        Response.AddHeader("Content-Disposition", "attachment; filename=" + Path.GetFileName(filePath));
        Response.AddHeader("Content-Length", new FileInfo(filePath).Length.ToString());

        // 讀取文件并寫入響應輸出流
        using (FileStream fileStream = new FileStream(filePath, FileMode.Open))
        {
            fileStream.CopyTo(Response.OutputStream);
        }

        // 關閉響應輸出流
        Response.End();

        // 返回完成狀態
        return Ok();
    }
}

在這個示例中,我們創建了一個名為DownloadController的控制器,其中有一個名為DownloadFile的GET方法。這個方法接受一個名為fileName的參數,該參數表示要下載的文件名。我們首先檢查文件是否存在,如果不存在,則返回404 Not Found錯誤。然后,我們設置響應頭,以便告訴瀏覽器這是一個文件下載請求。接下來,我們讀取文件并將其內容寫入響應輸出流。最后,我們關閉響應輸出流并返回完成狀態。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女