2013-10-19 61 views
0

由於某些原因,我必須通過控制器獲取圖像,ImageController:ViewFile(int id)。我不能使用image resizing通過控制器調整圖像大小

我曾嘗試:

<img src="/File/ViewImage/4?width=100"/><br/> 

確定這些控制器如下:

public class FileController : Controller 
{ 
    private readonly IFileService _fileService; 

    public FileController(IFileService fileService) 
    { 
     _fileService = fileService; 
    } 

    public ActionResult ViewImage(int id) 
    { 
     var image = _fileService.ViewImage(id); 

     if (image == null) 
     { 
      return new HttpNotFoundResult(); 
     } 

     return File(image.FilePath, image.ContentType, image.FileName); 
    } 
    ........ 

,但沒有運氣。有沒有人有同樣的問題?

+0

它只是我還是圖像沒有顯示?你可以把你嘗試過的東西換成純文本格式嗎? – Silvermind

+0

你好。我已經更新了這個問題。你現在更好回答。 – DarthVader

+0

'return File'只是返回一個流。您可以使用一些工具調整圖像大小,並返回調整大小的圖像的MemoryStream/FileStream,或者我不是在理解您的問題? – Silvermind

回答

1

ImageResizer Best Practices解釋了爲什麼您應該直接使用URL API而不是編寫自己的處理程序。如果您需要添加身份驗證規則或自定義數據源,ImageResizer會爲其提供自定義事件和插件API。

+0

我不知道你的意思是由URL API,我必須從控制器返回圖像,因爲他們不在與Application相同的文件夾,它們位於共享文件夾中,我有一個Web應用程序和一個域內的後端。 – DarthVader