Tôi không chắc chắn 100% liệu vấn đề của bạn có giống với những gì tôi đã gặp phải hay không nhưng trong trường hợp của tôi, tôi thấy rằng vấn đề thực sự nằm ở phần viết một phần, không có trong phần đọc. Ví dụ:mã viết ban đầu của tôi là như thế này:
Dim FILE_CONTENT(len) As Byte
File.InputStream.Read(FILE_CONTENT, 0, len)
SaveFileToDatabase(FILE_NAME, CONTENT_TYPE, FILE_CONTENT)
Khi tôi thay đổi dòng đầu tiên như sau:
Dim FILE_CONTENT(0 To len - 1) As Byte
lỗi đọc đã biến mất. Tôi chỉ quên rằng VB thực sự phân bổ N + 1 byte (O đến N) theo mặc định khi bạn kích thước nó mà không chỉ định giới hạn dưới. Xem tình huống tương tự được mô tả tại đây: Tệp Docx đã tải lên đang bị hỏng . Hy vọng điều đó sẽ hữu ích.