如何在asp.net mvc中显示来自Amazon S3的图像文件?

use*_*181 7 asp.net-mvc amazon amazon-s3

我需要使用控制器/动作在视图页面中显示图像(缩略图).(例如:/ Image/Thumbnail)我可以通过调用控制器中的方法发送本地存储的图像文件.

// sample code
public FileResult Thumbnail()
{
    // get image
    Stream outFile = System.IO.File.Open("c:\\test.jpg", FileMode.Open);

    // send image
    return File(outFile, "image/jpeg");
}
Run Code Online (Sandbox Code Playgroud)

如何发送存储在Amazon S3中的图像文件?

我可以在上面的方法中使用Amazon S3 URL来返回图像吗?- > http://bucketname.s3.amazonaws.com/test.jpg?AWSAccessKeyId=AKIAIDLH65EJ6LSWERDF&Expires=1266497098&Signature=lopDEDErjNLy2uz6X6QCNlIjkpB0%3D

谢谢

Pan*_*nek 4

您可以返回重定向结果:

public ActionResult Thumbnail()
{
    return Redirect("http://domain.com/test.jpg");
}
Run Code Online (Sandbox Code Playgroud)

如果 url 指向图像文件,那么它就可以工作。当然,您不应该向用户显示此操作的 url,而应在其他视图中将其用作<img>src 属性值:

<img src="<%= Url.Action("Thumbnail", "ControllerName") %>" />
Run Code Online (Sandbox Code Playgroud)