小编Jec*_*oms的帖子

45
推荐指数
5
解决办法
10万
查看次数

如何使用 Amazon S3 ResponseStream 返回 FileResult?

使用 AWSSDK.S3 nuget 包,我尝试返回从 S3 存储桶中检索到的文件。我的出发点基于此SO answer 中给出的示例。

示例控制器代码:

public FileResult GetFile(Guid id)
{
    // no using block as it will be disposed of by the File method
    var amazonResponse = _foo.GetAmazonResponseWrapper(_user, id);
    // set Response content-length header
    // set Response content-type header

    var bufferSize = 1024;
    var buffer = new byte[bufferSize];
    int bytesRead;

    while ((bytesRead = amazonResponse.ResponseStream.Read(buffer, 0, buffer.Length)) > 0 && Response.IsClientConnected)
    {
        Response.OutputStream.Write(buffer, 0, bytesRead);
        Response.OutputStream.Flush();
        buffer = new byte[bufferSize];
    }        

    // this will not …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc stream amazon-s3

2
推荐指数
1
解决办法
1048
查看次数