Je ne suis pas sûr à 100 % si votre problème était le même que celui que j'ai eu, mais dans mon cas, j'ai trouvé que le problème était en fait dans l'écriture partie, pas dans la partie lecture. Par exemple, mon code d'écriture d'origine était le suivant :
Dim FILE_CONTENT(len) As Byte
File.InputStream.Read(FILE_CONTENT, 0, len)
SaveFileToDatabase(FILE_NAME, CONTENT_TYPE, FILE_CONTENT)
Quand j'ai changé la première ligne comme suit :
Dim FILE_CONTENT(0 To len - 1) As Byte
l'erreur de lecture a disparu. J'ai juste oublié que VB alloue en fait N + 1 octets (O à N) par défaut lorsque vous le dimensionnez sans spécifier la limite inférieure. Voir une situation similaire décrite ici :Les fichiers Docx téléchargés sont corrompus . J'espère que ça aide.