我有一个项目,可以将像image64这样的文件保存到varbinary到数据库。
我想将varbinary或base64加载到图像标记源,而不使用razor标记或直接查询数据库。
我有这段代码从db:
下载file by id
public ActionResult Download(String Id)
{
if (Session["user"] == null)
return RedirectToAction("Landing", "Home");
try
{
var file = dbIntegrated.DATAFiles.Where(p => p.Id == Guid.Parse(Id)).FirstOrDefault();
if (file.Data != null)
{
string basesFile = Encoding.ASCII.GetString(file.Data.ToArray());
Byte[] bytes = Convert.FromBase64String(basesFile.Split(',')[1]);
return File(bytes, "multipart/form-data", file.Name);
}
else
{
return File(file.Location + file.Name, "multipart/form-data", file.Name);
}
}
catch (Exception ex)
{
//return RedirectToAction("DownloadError", "File");
return View();
}
}
所以,如果我想下载文件,我就像这样使用它
http://mywebsite.com/file/download/someGuidAsFileID
但我担心这种情况不会起作用:
<img src="http://mywebsite.com/file/download/someGuidAsFileID" />
请帮助我如何使这个条件有效,所以我只需要图像文件的ID并将其放在图像源上它会显示图像?