2017-04-07 75 views
0

我試圖在iTextSharp中檢索圖像。通過調用:local.myapp.com/File/FileDownload/102737來檢索圖像。圖像位於數據庫中,FileDownload actionresult方法根據提供的id獲取圖像。iTextSharp從路線添加圖像

我想從C#類(不控制器)上述網址可調用此類

iTextSharp.text.Image.GetInstance(HttpContext.Current.Server.MapPath($"{imgName}")); 

但是我不能使它發揮作用。我得到錯誤的道路與東西開始:C:\ WINDOWS \ SYSTEM32 \ INETSRV \

+2

您'不正確地使用'Server.MapPath()'。應該是'Server.MapPath(「〜/ images/imgage.jpg」)',其中'〜/ images/imgage.jpg'是圖像的路徑。不知道你從哪裏得到'$「{imgName}」'......這不是C#。 – kuujinbo

+0

通過調用File/FileDownload/imageid從數據庫動態生成映像。文件是控制器和文件下載是它裏面的方法:public ActionResult FileDownload(string id) – Ovis

+0

所以你想通過http下載檢索你的圖像? – mkl

回答

1

正如在評論這個問題的討論,圖像

必須通過HTTP檢索。

因此,代替使用Image.GetInstance過載用string參數(假定的參數在本地文件系統中的文件名),使用過載用Uri論點:

/// <summary> 
    /// Gets an instance of an Image. 
    /// </summary> 
    /// <param name="url">an URL</param> 
    /// <returns>an object of type Gif, Jpeg or Png</returns> 
    public static Image GetInstance(Uri url) 
+0

我已經改變了應用程序,以便可以調用一個方法來返回字節數組中的圖像。這已經解決了這個問題。 – Ovis