60 lines
1.8 KiB
Plaintext
60 lines
1.8 KiB
Plaintext
@if (!Uploading)
|
|
{
|
|
<InputFile OnChange="OnFileChanged" />
|
|
}
|
|
@Status
|
|
|
|
@code {
|
|
[Parameter]
|
|
public InspectionRegister Register { get; set; }
|
|
|
|
[Parameter]
|
|
public string ItemId { get; set; }
|
|
|
|
public bool Uploading { get; set; } = false;
|
|
public string Status { get; set; } = "";
|
|
|
|
async Task OnFileChanged(InputFileChangeEventArgs e)
|
|
{
|
|
Console.WriteLine("Début de l'envoi");
|
|
Status = "Envoi en cours...";
|
|
Uploading = true;
|
|
_ = InvokeAsync(StateHasChanged);
|
|
try
|
|
{
|
|
foreach (var file in e.GetMultipleFiles())
|
|
{
|
|
Console.WriteLine($"DEbut envoi {file.Name}");
|
|
Status = $"Envoi : {file.Name}.";
|
|
_ = InvokeAsync(StateHasChanged);
|
|
|
|
using var memstr = new MemoryStream();
|
|
await file.OpenReadStream(maxAllowedSize: long.MaxValue).CopyToAsync(memstr); ;
|
|
|
|
|
|
Register.Add(new()
|
|
{
|
|
Identifier = Guid.NewGuid().ToString(),
|
|
Author = "(null)",
|
|
Type = InspectionEntry.EntryType.Attachement,
|
|
Target = ItemId,
|
|
Attachment = memstr.ToArray(),
|
|
AttachmentName = file.Name
|
|
});
|
|
Console.WriteLine($"Added attachment {file.Name}, size: {memstr.Length}.");
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
Status = $"Échec de l'envoi : {ex}.";
|
|
_ = InvokeAsync(StateHasChanged);
|
|
Console.WriteLine($"Echec de l'envoi: {ex}");
|
|
}
|
|
|
|
Uploading = false;
|
|
Status = "";
|
|
_ = InvokeAsync(StateHasChanged);
|
|
Console.WriteLine("Envoi réussi");
|
|
}
|
|
}
|