Не съм 100% сигурен дали вашият проблем е същият като този, който съм имал, но в моя случай открих, че проблемът всъщност е в писменото част, а не в частта за четене. Например моят оригинален код за писане беше следният:
Dim FILE_CONTENT(len) As Byte
File.InputStream.Read(FILE_CONTENT, 0, len)
SaveFileToDatabase(FILE_NAME, CONTENT_TYPE, FILE_CONTENT)
Когато промених първия ред, както следва:
Dim FILE_CONTENT(0 To len - 1) As Byte
грешката при четене изчезна. Просто забравих, че VB всъщност разпределя N+1 байта (O до N) по подразбиране, когато го оразмерявате, без да посочвате долната граница. Вижте подобна ситуация, описана тук:Качените Docx файлове се повреждат . Надявам се, че това помага.