Nejsem si 100% jistý, zda byl váš problém stejný jako ten, který jsem měl já, ale v mém případě jsem zjistil, že problém byl ve skutečnosti v zápisu části, nikoli v části čtení. Můj původní kód pro psaní byl například tento:
Dim FILE_CONTENT(len) As Byte
File.InputStream.Read(FILE_CONTENT, 0, len)
SaveFileToDatabase(FILE_NAME, CONTENT_TYPE, FILE_CONTENT)
Když jsem změnil první řádek takto:
Dim FILE_CONTENT(0 To len - 1) As Byte
chyba čtení zmizela. Jen jsem zapomněl, že VB ve výchozím nastavení přiděluje N+1 bajtů (O až N), když jej dimenzujete bez určení spodní hranice. Viz podobná situace popsaná zde:Nahrané soubory Docx se poškozují . Doufám, že to pomůže.