Invia i log a parti e chiedi se includere le foto
Le foto venivano zippate tutte in un unico allegato: oltre i 100 MB i servizi rifiutavano l'invio (MaxUploadSizeExceededException) e, costruendo tutto in RAM sul thread della UI, il dispositivo si bloccava. - Invio diviso in più email da massimo ~40 MB ciascuna - Zip scritti su disco una parte alla volta e caricati in streaming - Preparazione in background, avanzamento "parte X di N" - Richiesta se includere le foto, con il loro peso (default: solo i log) - Database inviato insieme al file -wal - Avviso subito se si è offline Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
a4e5709be6
commit
9799f6b0c7
9 files changed
+403
-183
No files matched your search
@@ -26,5 +26,6 @@ public interface IFileManager
|
||||
Task<(string originalUrl, string thumbUrl)> SaveAndCreateThumbAsync(byte[] bytes, string fileName,
|
||||
CancellationToken ct = default);
|
||||
|
||||
List<SendEmailDto.AttachmentsDto> GetFileForExport();
|
||||
Task<long> GetLogExportImagesSizeAsync(CancellationToken ct = default);
|
||||
Task<ILogExport> PrepareLogExportAsync(bool includeImages, CancellationToken ct = default);
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
using SteUp.Shared.Core.Dto;
|
||||
|
||||
namespace SteUp.Shared.Core.Interface.System;
|
||||
|
||||
/// <summary>
|
||||
/// Invio dei log diviso in parti: ogni parte diventa un'email separata, sotto i limiti di upload
|
||||
/// dei servizi. Gli zip di una parte vengono creati solo quando la si chiede e cancellati alla
|
||||
/// parte successiva; il dispose elimina tutto quello che resta su disco.
|
||||
/// </summary>
|
||||
public interface ILogExport : IAsyncDisposable
|
||||
{
|
||||
int PartCount { get; }
|
||||
|
||||
Task<List<SendEmailDto.AttachmentsDto>> BuildPartAsync(int index, CancellationToken ct = default);
|
||||
}
|
||||
Reference in new issue
Block a user