2010-09-10 120 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