从数据库中提取 pdf 并将其显示在我的 cshtml 上

Posted

技术标签:

【中文标题】从数据库中提取 pdf 并将其显示在我的 cshtml 上【英文标题】:Extract pdf from database and display it on my cshtml 【发布时间】:2015-08-27 05:16:27 【问题描述】:

我正在从事一个项目,该项目应显示餐厅信息以及 pdf 文件。我已经能够将我的 pdf 保存到我的数据库中。但我不知道如何从我的数据库中提取它,然后将其显示在我的 .cshtml 上。

我正在使用带有 MSSQL 服务器的 VS 和 MVC4。

这是下载文件的代码。

var fileName = Path.GetFileName(TempVM.Resturang.PDF_File.FileName);
var filePath = Path.Combine(Server.MapPath("~/App_Data/uploads"), fileName);
TempVM.Resturang.PDF_File.SaveAs(filePath);

FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fs);
Byte[] bytes = br.ReadBytes((Int32)fs.Length);
br.Close();
fs.Close();

TempVM.Resturang.PDF_FileName = fileName;
TempVM.Resturang.PDF_Data = bytes;
TempVM.Resturang.PDF_ContentType = filePath; 

文件来自对象

public HttpPostedFileBase PDF_File  get; set; 

并且数据存储为

[PDF_Data]    VARBINARY (MAX) NULL,
[PDF_ContentType] VARCHAR(MAX) NULL, 
[PDF_FileName] VARCHAR(MAX) NULL,

用sql代码存储

cmd.Parameters.Add("@PDF_FileName", SqlDbType.VarChar).Value = Resturang.PDF_FileName;
cmd.Parameters.Add("@PDF_ContentType", SqlDbType.VarChar).Value = Resturang.PDF_ContentType;
cmd.Parameters.Add("@PDF_Data", SqlDbType.VarBinary).Value = Resturang.PDF_Data;

但是知道我不知道如何提取存储在我的数据库中的 pdf 文件,然后将其显示在我的 .cshtml 页面上,以便我可以查看它并可以从 -cshtml 页面下载它。

【问题讨论】:

【参考方案1】:

您可能需要一个输出 PDF 的操作,例如:

    public ActionResult GetDocument(int id)
    
        TempVM model = GetViewModel();

        if (model.PDF_Data.Length > 0)
        
            return File(model.PDF_Data, model.PDF_ContentType);
        
        else
        
            return View("NotFound");
        
    

然后在您的输出视图中,您只需将其包含为超链接,如下所示:

@Html.ActionLink("View doc", "GetDocument", new ID = 1)

【讨论】:

谢谢伙计!你为我爱上了它!真的真的很感谢! 没问题。如果这对您有用,请考虑单击旁边的勾号 - 清除问题并将其从“打开”列表中删除。

以上是关于从数据库中提取 pdf 并将其显示在我的 cshtml 上的主要内容,如果未能解决你的问题,请参考以下文章

Google Cloud Vision API PDF 文本提取

如何从网站获取特定数据并将其显示在我的应用程序中?

从 R 中的网站提取数据并将它们显示为 R 表

使用公共 API 从站点中提取 JSON 数据并将其异步显示在页面上

如何从 2 张 excel 中提取数据并将其显示在 VB 表单字段中

如何从 Java EE 应用程序外部化 PDF?