IIS(C#)将文件请求发送到请求方法

时间:2016-07-08 14:07:37

标签: c# asp.net iis

我以前做过这件事,但我不记得怎么做。在IIS应用程序(C#)中有一种方法可以告诉它发送所有对"文件的请求。关闭方法的特定URL。然后该方法可以设置"文件"在回应中。

这是一种避免将临时文件写入磁盘而是将其保存在内存中的方法,验证该文件的请求是否来自经过身份验证的用户,然后将该文件保存在内存中以供响应。

1 个答案:

答案 0 :(得分:0)

您正在寻找的是FileResult而不是来自控制器的ActionResult(假设这里是ASP.NET MVC或Web API);更具体地说,您可能希望FileStreamResult将数据存储在MemoryStreamFileStream中;或者带有二进制数组的FileContentResult

public FileResult GetFile(...)
{
    var stream = new MemoryStream();

    // Assign the data here
    // ...

    return new FileStreamResult(stream, "application/octet-stream")
    {
        FileDownloadName = "MyFile.dat",
    };
}