No estoy 100 % seguro de que tu problema sea el mismo que he tenido yo, pero en mi caso, descubrí que el problema estaba realmente en la escritura. parte, no en la parte de lectura. Por ejemplo, mi código de escritura original era así:
Dim FILE_CONTENT(len) As Byte
File.InputStream.Read(FILE_CONTENT, 0, len)
SaveFileToDatabase(FILE_NAME, CONTENT_TYPE, FILE_CONTENT)
Cuando cambié la primera línea de la siguiente manera:
Dim FILE_CONTENT(0 To len - 1) As Byte
el error de lectura desapareció. Simplemente olvidé que VB en realidad asigna N + 1 bytes (O a N) de forma predeterminada cuando lo dimensiona sin especificar el límite inferior. Vea una situación similar descrita aquí:Los archivos Docx cargados se están corrompiendo . Espero que ayude.