7

コントローラ/アクションを使用してビューページに画像(サムネイル)を表示する必要があります。(例:/ 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");
}

Amazon S3に保存されている画像ファイルを送信するにはどうすればよいですか?

上記のメソッドでAmazonS3URLを使用して画像を返すことはできますか?-> http://bucketname.s3.amazonaws.com/test.jpg?AWSAccessKeyId=AKIAIDLH65EJ6LSWERDF&Expires=1266497098&Signature=lopDEDErjNLy2uz6X6QCNlIjkpB0%3D

ありがとう

4

3 に答える 3

4

リダイレクト結果を返すことができます:

public ActionResult Thumbnail()
{
    return Redirect("http://domain.com/test.jpg");
}

URLが画像ファイルを指している場合は機能します。もちろん、このアクションのURLをユーザーに提示するのではなく、他のビューで<img>src属性値として使用する必要があります。

<img src="<%= Url.Action("Thumbnail", "ControllerName") %>" />
于 2010-02-18T13:41:51.103 に答える
1

WebClientで画像を読み込んでみてください。

WebClient wClient = new WebClient();
Stream stream = new MemoryStream(wClient.DownloadData('http://....jpg'));

return File(stream, "image/jpg");
于 2010-02-18T13:48:28.927 に答える
1

ストリームを取得するためにWebリクエストを行うことができます

public FileResult Thumbnail()
    {
        // get image
        HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create(@"http://bucketname.s3.amazonaws.com/test.jpg?AWSAccessKeyId=AKIAIDLH65EJ6LSWERDF&Expires=1266497098&Signature=lopDEDErjNLy2uz6X6QCNlIjkpB0%3D");
        WebResponse myResp = myReq.GetResponse();

        Stream outFile = myResp.GetResponseStream();

        // send image
        return File(outFile, "image/jpeg");
    }
于 2010-02-18T13:53:00.233 に答える