Jag är inte 100 % säker på om ditt problem var detsamma som det jag har haft, men i mitt fall upptäckte jag att problemet faktiskt låg i skrivningen del, inte i läsdelen. Till exempel var min ursprungliga skrivkod så här:
Dim FILE_CONTENT(len) As Byte
File.InputStream.Read(FILE_CONTENT, 0, len)
SaveFileToDatabase(FILE_NAME, CONTENT_TYPE, FILE_CONTENT)
När jag ändrade den första raden som följande :
Dim FILE_CONTENT(0 To len - 1) As Byte
läsfelet försvann. Jag glömde bara att VB faktiskt allokerar N+1 byte (O till N) som standard när du dimensionerar den utan att ange den nedre gränsen. Se liknande situation som beskrivs här:Uppladdade Docx-filer blir skadade . Hoppas det hjälper.