【发布时间】:2015-04-27 06:37:41
【问题描述】:
我将 pdf 作为二进制文件存储在数据库中。我想要在单击它们时显示它们的链接。我使用实体框架代码优先和 mvc 与 c#。如果有人知道它是如何工作的,请告诉我。 谢谢。
【问题讨论】:
-
你能分享一下你到目前为止做了什么吗?有什么错误吗?
标签: c# asp.net-mvc entity-framework
我将 pdf 作为二进制文件存储在数据库中。我想要在单击它们时显示它们的链接。我使用实体框架代码优先和 mvc 与 c#。如果有人知道它是如何工作的,请告诉我。 谢谢。
【问题讨论】:
标签: c# asp.net-mvc entity-framework
如果您的文件存储为 byte[],您可以使用以下方法在控制器方法中简单地返回 FileResult:
public ActionResult DownloadPDF(int id)
{
byte[] pdffile = [your file];
return File(pdffile, "application/pdf");
}
File方法的详细信息请见https://msdn.microsoft.com/en-us/library/system.web.mvc.controller.file(v=vs.118).aspx
【讨论】:
您需要在任何控制器中创建一个操作,该操作可以从数据库中选择二进制编码的 pdf 并根据请求提供它。例如:
class PDFController : Controller
{
public ActionResult Download(int id)
{
byte[] fileContents;
// Your code to read the binary file from DB.
// fileContents = // Populate from DB
return new FileContentResult(fileContents, "application/pdf");
}
}
现在添加一个指向此操作的链接,例如 (/pdf/download/1)
【讨论】: