Bonjour,
je recherche desesperemment la méthode pour transformer un fichier pdf en blob avec vb.net puis l'inserer dans ma bdd !!!!
quelqu'un peut m'aider ?
Version imprimable
Bonjour,
je recherche desesperemment la méthode pour transformer un fichier pdf en blob avec vb.net puis l'inserer dans ma bdd !!!!
quelqu'un peut m'aider ?
qu'est-ce que tu utilises comme BDD ?
mon fichier provient d'un openfiledialog et j'utilise MySQL
On trouve plein de sujets pour ecrire du PDF mais pour le lire et le decoder, personnellement je n'ai rien trouve apres une recherche assez rapide. C'est peut etre a ce niveau la que se situe l'os non ?
je fais sa et apres mon INSERT de value mais sa me dis qu'il ne peut pas convertir un tableau a 1 dimension en string ???Code:
1
2
3
4
5 Dim Fs As FileStream = New FileStream(OpenFileDialog1.FileName, FileMode.Open, FileAccess.Read) Dim Value() As Byte = New Byte(Fs.Length) {} Fs.Read(Value, 0, System.Convert.ToInt32(Fs.Length)) Fs.Close()
Code:cmd.CommandText = "INSERT INTO t_intervention_document_tampon(inter_id, intdoc_titre, intdoc_fichier) VALUES ('" & My.Settings.inter_id & "', 'test', '" & Value.ToString & "')"
tu peux l'insérer directement dans la requête sous forme de chaine hexadécimale, mais il vaut mieux passer par un paramètre de type blob dans lequel tu charges le contenu du fichier
un exemple ici (en anglais)
http://www.programmingado.net/a-141/...nto-MySQL.aspx
il faut mettre dans la valeur du blob les données binaires du fichier, que tu peux obtenir par exemple avec File.ReadAllBytes
Je ne te parle pas de FileStream, mais de la méthode statique File.ReadAllBytes()
bon normalement c'est bon j'ai mon blob !!
mais l'insertion dans la bdd c'est autre chose !?
(voir image)
c'est bon j'ai trouvé !!!!!!!!!!!!
il faut en fait utiliser le système de paramètres de mysqlcommand. Je donne l'exemple que j'ai trouvé sur le site de mysql :
merci tomlev pour votre aide !!!!Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 Dim conn As New MySqlConnection Dim cmd As New MySqlCommand Dim SQL As String Dim FileSize As UInt32 Dim rawData() As Byte Dim fs As FileStream conn.ConnectionString = "server=127.0.0.1;" _ & "uid=root;" _ & "pwd=12345;" _ & "database=test" Try fs = New FileStream("c:\image.png", FileMode.Open, FileAccess.Read) FileSize = fs.Length rawData = New Byte(FileSize) {} fs.Read(rawData, 0, FileSize) fs.Close() conn.Open() SQL = "INSERT INTO file VALUES(NULL, ?FileName, ?FileSize, ?File)" cmd.Connection = conn cmd.CommandText = SQL 'Moi j'ai utilisé cmd.Parameters.AddWithValue pour que sa fonctionne sa dépend de votre connector je pense cmd.Parameters.Add("?FileName", strFileName) cmd.Parameters.Add("?FileSize", FileSize) cmd.Parameters.Add("?File", rawData) cmd.ExecuteNonQuery() MessageBox.Show("File Inserted into database successfully!", _ "Success!", MessageBoxButtons.OK, MessageBoxIcon.Asterisk) conn.Close() Catch ex As Exception MessageBox.Show("There was an error: " & ex.Message, "Error", _ MessageBoxButtons.OK, MessageBoxIcon.Error) End Try
il faudrait l'integrer a l'aide de Mr plasserre je pense car pour trouver c'est la galere a mort !!!!!!!!!!!!!!!!