Bonjour,

Dans mon appli VB, je souhaite insérer dans une base mysql (EasyPhp 1.8) des fichiers PDF, que je récupère ensuite par une appli Web.

Le problème est que lorsque je souhaite ouvrir le fichier PDF avec mon navigateur, il me met :
Une erreur est survenue lors de l'ouverture de ce document. Le fichier est endommagé et n'a pas pu être réparé.
Par contre, ca marche très bien avec des fichiers JPG, et lorsque j'insere des fichiers PDF directement avec mon appli Web (sans utiliser VB), je peux les ré-ouvrir sans problème.

Je pense donc que l'erreur provient du code VB :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Private Sub InsereImage(fichier As String)
'fichier = "C:\...\doc.pdf"
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim mystream As ADODB.Stream
 
'Connexion à la base
Set conn = New ADODB.Connection
conn.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver};SERVER=127.0.0.1;DATABASE=test;UID=root;"
conn.CursorLocation = adUseClient
conn.Open
 
Set rs = New ADODB.Recordset
 
Set mystream = New ADODB.Stream
mystream.Type = adTypeBinary
 
rs.Open "SELECT * FROM table1 WHERE 1=0", conn, adOpenStatic, adLockOptimistic
rs.AddNew
 
mystream.Open
mystream.LoadFromFile fichier
 
'Insertion des données
rs!nom = "defaut.pdf"
rs!taille = mystream.Size
rs!fichier = mystream.Read
rs.Update
mystream.Close
rs.Close
conn.Close
 
End Sub