2015-06-27 65 views
0

我有一個ASP.NET MVC應用程序。在這個程序,我有一個控制器,看起來像這樣:ASP.NET MVC - 返回純圖像數據與視圖

public class MyController 
{ 
    public ActionResult Index() 
    { 
    return View(); 
    } 

    public ActionResult Photos(int id) 
    { 
    bool usePureImage = false; 
    if (String.IsNullOrEmpty(Request.QueryString["pure"]) == false) 
    { 
     Boolean.TryParse(Request.QueryString["pure"], out usePureImage); 
    } 

    if (usePureImage) 
    { 
     // How do I return raw image/file data here? 
    } 
    else 
    { 
     ViewBag.PictureUrl = "app/photos/" + id + ".png"; 
     return View("Picture"); 
    } 
    } 
} 

我目前能夠成功地擊中了照片的路線就像我想要的。但是,如果請求最後包含「?pure = true」,我想返回純數據。這樣另一位開發人員可以在他們的頁面中包含照片。我的問題是,我該怎麼做?

回答

1

您可以將圖像作爲簡單的文件返回。類似這樣的:

var photosDirectory = Server.MapPath("app/photos/"); 
var photoPath = Path.Combine(photosDirectory, id + ".png"); 
return File(photoPath, "image/png"); 

基本上the File() method作爲結果返回一個原始文件。

0

這個SO answer似乎有你所需要的。它使用控制器上的File方法返回具有文件內容的FileContentResult。