mirror of
https://github.com/Caraxi/mare.client.git
synced 2025-12-12 16:47:22 +01:00
delete empty files on failed downloads
This commit is contained in:
parent
189ec03173
commit
fc4cee1a3a
1 changed files with 20 additions and 12 deletions
|
|
@ -50,23 +50,31 @@ public partial class ApiController
|
||||||
response.EnsureSuccessStatusCode();
|
response.EnsureSuccessStatusCode();
|
||||||
|
|
||||||
var fileName = Path.GetTempFileName();
|
var fileName = Path.GetTempFileName();
|
||||||
var fileStream = File.Create(fileName);
|
try
|
||||||
await using (fileStream.ConfigureAwait(false))
|
|
||||||
{
|
{
|
||||||
var bufferSize = response.Content.Headers.ContentLength > 1024 * 1024 ? 4096 : 1024;
|
var fileStream = File.Create(fileName);
|
||||||
var buffer = new byte[bufferSize];
|
await using (fileStream.ConfigureAwait(false))
|
||||||
|
|
||||||
var bytesRead = 0;
|
|
||||||
while ((bytesRead = await (await response.Content.ReadAsStreamAsync(ct).ConfigureAwait(false)).ReadAsync(buffer, ct).ConfigureAwait(false)) > 0)
|
|
||||||
{
|
{
|
||||||
ct.ThrowIfCancellationRequested();
|
var bufferSize = response.Content.Headers.ContentLength > 1024 * 1024 ? 4096 : 1024;
|
||||||
|
var buffer = new byte[bufferSize];
|
||||||
|
|
||||||
await fileStream.WriteAsync(buffer.AsMemory(0, bytesRead), ct).ConfigureAwait(false);
|
var bytesRead = 0;
|
||||||
|
while ((bytesRead = await (await response.Content.ReadAsStreamAsync(ct).ConfigureAwait(false)).ReadAsync(buffer, ct).ConfigureAwait(false)) > 0)
|
||||||
|
{
|
||||||
|
ct.ThrowIfCancellationRequested();
|
||||||
|
|
||||||
progress.Report(bytesRead);
|
await fileStream.WriteAsync(buffer.AsMemory(0, bytesRead), ct).ConfigureAwait(false);
|
||||||
|
|
||||||
|
progress.Report(bytesRead);
|
||||||
|
}
|
||||||
|
|
||||||
|
return fileName;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return fileName;
|
catch
|
||||||
|
{
|
||||||
|
File.Delete(fileName);
|
||||||
|
throw;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue