在 Web API asp.net,如何创建下载示例.xlsx文件的功能?

In asp.net web api, how to create a functionality of download a sample .xlsx file?

提问人:Krunal Thakor 提问时间:11/7/2023 最后编辑:tgolischKrunal Thakor 更新时间:11/7/2023 访问量:14

问:

在 Web API asp.net,如何创建下载示例.xlsx文件的功能? 我尝试了以下功能。

    public HttpResponseMessage DownloadExcelFile()
    {
        string filePath = Directory.GetCurrentDirectory() + "/Modules/SampleFiles/sample3.xlsx";

        
        HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK);
        response.Content = new StreamContent(new FileStream(filePath, FileMode.Open));
        response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
        {
            FileName = "sample3.xlsx"
        };
        response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");

        return response;
    }

我尝试了以下方法

    public HttpResponseMessage DownloadExcelFile()
    {
        string filePath = Directory.GetCurrentDirectory() + "/Modules/SampleFiles/sample3.xlsx";
        
        HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK);
        response.Content = new StreamContent(new FileStream(filePath, FileMode.Open));
        response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
        {
            FileName = "sample3.xlsx"
        };
        response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");

        return response;
    }
asp.net 文件处理

评论


答:

0赞 vdschuck 11/7/2023 #1

您是否尝试过使用下面的 MediaType?

response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");