2010-09-10 241 views
0

假设我有一个Windows Forms应用程序,在其中键入员工的所有详细信息,并且需要将他的简历(PDF格式)附加到他的详细信息中。当我点击保存按钮时,他输入的所有详细信息都可以存储到表格中。如何在VB.NET中附加PDF文件?

  1. 如何将PDF文件附加到应用程序中,用户可以通过在输入所有详细信息后单击按钮来完成此操作?
  2. 当用户点击保存按钮时,如何保存用户已附加的文件?
  3. 当我检索员工详细信息时,我想要显示并显示附加的文件。

回答

2

使用OpenFileDialog允许用户浏览到他们想要附加的PDF。存储选定PDF的文件路径。

当用户保存记录时,将用户选择的文件读入byte[],并将该byte[]保存到数据库字段(可能是blob字段)中。 (See here

要重新读入,请做相反的操作。从数据库中获取byte[],然后将其重组为文件,将该文件保存为临时PDF,然后启动一个进程加载它。 (See here

0

下面是一个简单的例子,没有错误检查,展示了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' 
+0

唯一的问题是如果它的分布式系统 - 你需要保存到网络路径,这也会变得复杂。 – 2010-09-10 04:31:39