Nie jestem w 100% pewien, czy Twój problem był taki sam, jak mój, ale w moim przypadku okazało się, że problem dotyczył pisma części, a nie w części do czytania. Na przykład mój oryginalny kod pisania wyglądał tak:
Dim FILE_CONTENT(len) As Byte
File.InputStream.Read(FILE_CONTENT, 0, len)
SaveFileToDatabase(FILE_NAME, CONTENT_TYPE, FILE_CONTENT)
Kiedy zmieniłem pierwszą linię w następujący sposób:
Dim FILE_CONTENT(0 To len - 1) As Byte
błąd odczytu zniknął. Po prostu zapomniałem, że VB domyślnie przydziela N+1 bajtów (od O do N), gdy wymiarujesz go bez określania dolnej granicy. Zobacz podobną sytuację opisaną tutaj:Przesłane pliki Docx ulegają uszkodzeniu . Mam nadzieję, że to pomoże.