Я знаю, что этот вопрос задавался довольно много раз прежде, но мой немного отличается. Мне удалось создать поле PDF из BLOB-объекта, но при его открытии Adobe выдает ошибку «Произошла ошибка при открытии этого документа. Этот файл поврежден и не может быть восстановлен». Это то, что я что-то не так при создании PDF. Я был бы признателен за любую помощь в этом вопросе, поскольку я боролся с этим в течение последних нескольких дней, не получая особой помощи. Мой код для создания PDF, как показано ниже.
Dim rs As MySqlDataReader
Dim sqlstr As String
Dim rawData() As Byte
Dim FileSize As UInt32
Dim fs As FileStream
Dim cmd As New MySqlCommand
sqlstr = "Select pdf_file,pdf_file_size from pdf_files where id=" & TextBox1.Text
cmd.Connection = mySqlConn
cmd.CommandText = sqlstr
rs = cmd.ExecuteReader
While rs.Read()
FileSize = rs.GetUInt32(rs.GetOrdinal("vat_file_size"))
rawData = New Byte(FileSize) {}
rs.GetBytes(rs.GetOrdinal("vat_file"), 0, rawData, 0, FileSize)
'rs.GetBytes(rs.Item(0), 0, rawData, 0, FileSize)
fs = New FileStream("C:\Users\name\Desktop\test.pdf", FileMode.OpenOrCreate, FileAccess.Write)
fs.Write(rawData, 0, FileSize + 1)
fs.Flush()
fs.Close()
MessageBox.Show("File successfully written to disk!", "Success!", MessageBoxButtons.OK,MessageBoxIcon.Asterisk)
End While
rs.Close()