gpt4 book ai didi

mysql - 显示从数据库保存的 PDF 文件到 PDFVIEWER

转载 作者:行者123 更新时间:2023-11-30 21:50:20 35 4
gpt4 key购买 nike

我已成功将 pdf 文件作为 longblob 保存到我的数据库 (MySQL) 并使用了以下代码:

opf.Filter = "PDF FILES |*.pdf"
If opf.ShowDialog = Windows.Forms.DialogResult.OK Then

//Display the PDF you want to save in the PDFVIEWER
pdfview.src = opf.FileName

Dim Mystream As New FileStream(opf.FileName, FileMode.Open)
Dim filesize As Long = Mystream.Length
Dim buffer(filesize) As Byte
Mystream.Read(buffer, 0, filesize)

//Save the pdf file to the database
Dim query As String = "insert into sample(pdfnaho)values(@file)"
Dim cmd As New MySqlCommand(query, con)
con.Open()
cmd.Parameters.AddWithValue("@file", buffer)
cmd.ExecuteNonQuery()
MsgBox("SAVED!")
con.Close()

End If

然后我用这段代码来显示,但它不起作用,我不知道该怎么做:

Dim query As String = "select * from sample where id = 1"
Dim cmd As New MySqlCommand(query, con)
con.Open()
Dim dr As MySqlDataReader = cmd.ExecuteReader
While dr.Read
If dr.HasRows Then
pdfview.src = dr.GetString("pdfnaho")
End If
End While
con.Close()

我应该如何显示我从数据库中保存的 pdf 文件?谢谢你

最佳答案

我不能把它作为评论,因为我没有足够的声誉。

您使用的是什么 PDF 查看器?如果它是 Adob​​e PDF 查看器,我几乎可以肯定(根据之前对另一个项目的研究)你不能流入它。

这是我之前项目的示例,我对其进行了修改以适合您的项目,请确保编辑查询以适合您的表名和列名。

您必须运行一个查询,该查询仅返回包含二进制文件的单元格。

Dim query as String = "SELECT file_content FROM sample WHERE ID=1;"

Public Sub OpenPDF()

If File.Exists(Application.StartupPath() & "\temp.file") = True Then
pdfview.src = "blank.pdf"
My.Computer.FileSystem.DeleteFile(Application.StartupPath() & "\temp.file")
End If

Dim cmd As New MySqlCommand(query, con)
Dim Buffer As Byte()

con.open()
Buffer = cmd.ExecuteScalar
con.close()

File.WriteAllBytes(Application.StartupPath() & "\temp.file", Buffer)

pdfview.src = Application.StartupPath() & "\temp.file"
End Sub

在此示例中,代码将检查是否存在现有的“temp.file”并将其删除,然后在 pdfviewer 上不加载任何内容以清除显示的内容。

数据库连接,获取数据,将其存储在文件中,然后使用 pdfviewer 显示。

关于mysql - 显示从数据库保存的 PDF 文件到 PDFVIEWER,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47586474/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com