2.7.4
This commit is contained in:
@@ -781,7 +781,7 @@ RequestFinished:
|
||||
''' <summary>
|
||||
''' 为不需要分割的小文件进行临时存储。
|
||||
''' </summary>
|
||||
Private SmailFileCache As List(Of Byte)
|
||||
Private SmailFileCache As Queue(Of Byte)
|
||||
|
||||
''' <summary>
|
||||
''' 文件的已下载大小。
|
||||
@@ -1101,7 +1101,7 @@ NotSupportRange:
|
||||
'创建缓存文件
|
||||
If IsNoSplit Then
|
||||
Info.Temp = Nothing
|
||||
SmailFileCache = New List(Of Byte)
|
||||
SmailFileCache = New Queue(Of Byte)
|
||||
Else
|
||||
Info.Temp = PathTemp & "Download\" & Uuid & "_" & Info.Uuid & "_" & RandomInteger(0, 999999) & ".tmp"
|
||||
ResultStream = New FileStream(Info.Temp, FileMode.Create, FileAccess.Write, FileShare.Read)
|
||||
@@ -1152,9 +1152,15 @@ NotSupportRange:
|
||||
Info.DownloadDone += RealDataCount
|
||||
If IsNoSplit Then
|
||||
If HttpData.Count = RealDataCount Then
|
||||
SmailFileCache.AddRange(HttpData)
|
||||
'SmailFileCache.AddRange(HttpData)
|
||||
For Each B In HttpData
|
||||
SmailFileCache.Enqueue(B)
|
||||
Next
|
||||
Else
|
||||
SmailFileCache.AddRange(HttpData.ToList.GetRange(0, RealDataCount))
|
||||
'SmailFileCache.AddRange(HttpData.ToList.GetRange(0, RealDataCount))
|
||||
For i = 0 To RealDataCount - 1
|
||||
SmailFileCache.Enqueue(HttpData(i))
|
||||
Next
|
||||
End If
|
||||
Else
|
||||
ResultStream.Write(HttpData, 0, RealDataCount)
|
||||
@@ -1456,7 +1462,9 @@ Retry:
|
||||
Public Overrides Property Progress As Double
|
||||
Get
|
||||
If State >= LoadState.Finished Then Return 1
|
||||
If Not Files.Any() Then Return 0 '必须返回 0,否则在获取列表的时候会错觉已经下载完了
|
||||
SyncLock FilesLock
|
||||
If Not Files.Any() Then Return 0 '必须返回 0,否则在获取列表的时候会错觉已经下载完了
|
||||
End SyncLock
|
||||
Return _Progress
|
||||
End Get
|
||||
Set(value As Double)
|
||||
|
||||
Reference in New Issue
Block a user