假設我有一個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