2010-09-10 5 views
0

Предположим, что у меня есть приложение Windows Forms, в котором я печатаю все детали сотрудника, и мне нужно приложить его резюме (которое находится в формате PDF) к его деталям. Когда я нажимаю кнопку сохранения, все его данные, которые он ввел, могут быть сохранены в таблице.Как подключить файлы PDF в VB.NET?

  1. Как прикрепить файл PDF в приложение, которое пользователь может сделать, нажав кнопку после ввода всех его данных?
  2. Когда пользователь нажимает кнопку сохранения, как мне сохранить файл, который был прикреплен пользователем?
  3. Когда я получаю детали сотрудника, я хочу, чтобы файл, который был прикреплен, также отображался и отображался.

ответ

2

Используйте OpenFileDialog, чтобы пользователь мог перейти к PDF-файлу, который они хотят прикрепить. Сохраните путь к файлу выбранного PDF-файла.

Когда пользователь сохраняет запись, прочитайте выбранный пользователем файл byte[] и сохраните его в поле базы данных (возможно, поле blob). (See here)

Чтобы прочитать его, сделайте обратный ход. Получите byte[] из базы данных и скопируйте его в файл, сохраните файл в виде временного PDF-файла, а затем запустите процесс его загрузки. (See here)

0

Вот простой пример, без проверки ошибок, демонстрирующий хорошее предложение Майкла Шимминса.

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 один ссылка. Google «производительность базы данных 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

Только вопрос будет, если его распределенная система - вам нужно сохранить сетевой путь, который также может усложниться. –

Смежные вопросы