Non sono sicuro al 100% che il tuo problema fosse lo stesso che ho avuto io, ma nel mio caso ho scoperto che il problema era effettivamente nella scrittura parte, non nella parte di lettura. Ad esempio, il mio codice di scrittura originale era così:
Dim FILE_CONTENT(len) As Byte
File.InputStream.Read(FILE_CONTENT, 0, len)
SaveFileToDatabase(FILE_NAME, CONTENT_TYPE, FILE_CONTENT)
Quando ho modificato la prima riga come segue:
Dim FILE_CONTENT(0 To len - 1) As Byte
l'errore di lettura è scomparso. Ho appena dimenticato che VB alloca effettivamente N + 1 byte (da O a N) per impostazione predefinita quando lo si dimensiona senza specificare il limite inferiore. Vedi una situazione simile descritta qui:I file Docx caricati vengono danneggiati . Spero di esserti stato d'aiuto.