1 回答

TA貢獻1797條經驗 獲得超6個贊
<img src=...必須通過其路徑指向圖像文件,例如<img src="/myImage.jpg">。您不能將圖像的二進制表示形式粘貼在其中src并使其正常工作。
因此,您可以將這些二進制圖像寫入磁盤的某個地方(您可能不想這樣做,因為那時您正在復制數據,并且必須管理同步)。
或者您可以創建某種圖像處理程序,因此<img src=類似于: <img src="/myHandler/imageId",然后讓處理程序從數據庫中讀取二進制數據并以圖像進行響應。
這是我過去用來從數據庫中讀取二進制 PDF 并將其作為文件返回的 MVC 控制器操作。這是在我的Competition控制器中。如果這是返回圖像,您可以將其稱為:
<img src="Competition/ViewJobDescription?competitionId=1234" />
public ActionResult ViewJobDescription(int competitionId)
{
string errorMsg = "";
var competition = new DBModel.Competition();
try
{
competition = DBModel.Competition.GetCompetition(competitionId);
if (competition != null && competition.AttachmentContent != null)
{
byte[] fileData = competition.AttachmentContent;
string filename = competition.AttachmentTitle + ".pdf";
return File(fileData, "application/pdf", filename);
}
}
catch (Exception ex)
{
errorMsg += "An error occured: " + ex.Message;
LogFile err = new LogFile();
err.CreateErrorLog(errorMsg);
ModelState.AddModelError(string.Empty, errorMsg);
}
return RedirectToAction("Index", "Home");
}
- 1 回答
- 0 關注
- 214 瀏覽
添加回答
舉報