假设我有一个Windows Forms应用程序,在其中键入员工的所有详细信息,并且需要将他的简历(PDF格式)附加到他的详细信息中。当我点击保存按钮时,他输入的所有详细信息都可以存储到表格中。如何在VB.NET中附加PDF文件?
- 如何将PDF文件附加到应用程序中,用户可以通过在输入所有详细信息后单击按钮来完成此操作?
- 当用户点击保存按钮时,如何保存用户已附加的文件?
- 当我检索员工详细信息时,我想要显示并显示附加的文件。
假设我有一个Windows Forms应用程序,在其中键入员工的所有详细信息,并且需要将他的简历(PDF格式)附加到他的详细信息中。当我点击保存按钮时,他输入的所有详细信息都可以存储到表格中。如何在VB.NET中附加PDF文件?
使用OpenFileDialog允许用户浏览到他们想要附加的PDF。存储选定PDF的文件路径。
当用户保存记录时,将用户选择的文件读入byte[]
,并将该byte[]
保存到数据库字段(可能是blob字段)中。 (See here)
要重新读入,请做相反的操作。从数据库中获取byte[]
,然后将其重组为文件,将该文件保存为临时PDF,然后启动一个进程加载它。 (See here)
下面是一个简单的例子,没有错误检查,展示了Michael Shimmins的好建议。
Dim ofd As New OpenFileDialog()
'Set ofd settings'
If ofd.ShowDialog() = DialogResult.Cancel Then
Return
End If
Dim pdfData As Byte() = File.ReadAllBytes(ofd.FileName)
'Save it to your database.'
不过,我建议你考虑将文件复制到文件服务器,而不是二进制数据和BLOB的处理,如果你能帮助它。已知BLOB在某些平台上杀死数据库性能。 Here's一个参考。谷歌“blob数据库性能”更多。
下面是将文件复制到文件服务器的示例。
Dim newFileName As String = UniqueFileNameGeneratingFunction()
File.Copy(odf.FileName, newFileName)
'Save newFileName to your database as a string, and retrieve the file as needed'
'from the file server'
唯一的问题是如果它的分布式系统 - 你需要保存到网络路径,这也会变得复杂。 – 2010-09-10 04:31:39