技术开发 频道

分块上传和下载文件-数据库操作


【IT168技术文档】

  将文件以二进制流的形式存储到数据库中,如果文件较大,就必须分块处理,否则速度非常的慢。
ADO.Net把ADO中的AppendChunk和GetChunk功能给去掉了,
  因此要将文件分块上传到数据库中或从数据库中分块下载文件就要只能用ADO,不能用ADO.Net(至少目前我的研究范围内如此)

  下面是分块上传和下载的核心代码
Dim fs As New System.IO.FileStream(m_FilePath, IO.FileMode.Open, IO.FileAccess.Read) Dim rs As ADODB.Recordset = New ADODB.Recordset 上传: For j = 0 To ChunkNum - 1 Dim pChunkBuffer(ChunkSize - 1) As Byte fs.Read(pChunkBuffer, 0, pChunkBuffer.Length) rs.Fields(wsManageGlobalParam.g_FieldFileData).AppendChunk(pChunkBuffer) pChunkBuffer = Nothing Next 下载: For j = 0 To ChunkNum - 1 Dim pChunkBuffer(ChunkSize - 1) As Byte pChunkBuffer = rs.Fields(wsManageGlobalParam.g_FieldFileData).GetChunk(ChunkSize) fs.Write(pChunkBuffer, 0, pChunkBuffer.Length) pChunkBuffer = Nothing Next
0
相关文章