Skip to content

Commit 99acfbf

Browse files
Updated sample to use in process event listener methods.
1 parent 0f5dbea commit 99acfbf

File tree

1 file changed

+18
-15
lines changed

1 file changed

+18
-15
lines changed

samples/KristofferStrube.Blazor.FileAPI.WasmExample/Pages/FileReaderSample.razor

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -38,19 +38,20 @@ We then use the methods of the <code>FileReader</code> interface to read the <co
3838
);
3939
}
4040

41-
private void GetProgress(ProgressEventInProcess eventArgs, string prepend)
41+
private void GetProgress(ProgressEventInProcess eventArgs)
4242
{
43+
var time = eventArgs.TimeStamp;
4344
var progress = eventArgs.LengthComputable ? $"({eventArgs.Loaded}/{eventArgs.Total})" : "";
44-
log += $"{prepend}: {progress}\n";
45+
log += $"{time:F2} - {eventArgs.Type}: {progress}\n";
4546
StateHasChanged();
4647
}
4748

48-
4949
private async Task GetProgressAsync(ProgressEvent eventArgs)
5050
{
51-
var progress = await eventArgs.GetLengthComputableAsync() ? $"({await eventArgs.GetLoadedAsync()}/{await eventArgs.GetTotalAsync()})" : "";
51+
var time = await eventArgs.GetTimeStampAsync();
5252
var type = await eventArgs.GetTypeAsync();
53-
log += $"{type}: {progress}\n";
53+
var progress = await eventArgs.GetLengthComputableAsync() ? $"({await eventArgs.GetLoadedAsync()}/{await eventArgs.GetTotalAsync()})" : "";
54+
log += $"{time:F2} - {type}: {progress}\n";
5455
StateHasChanged();
5556
}
5657

@@ -81,19 +82,21 @@ We then use the methods of the <code>FileReader</code> interface to read the <co
8182
log = "";
8283
var fileReader = await FileReaderInProcess.CreateAsync(JSRuntime);
8384

84-
await using var eventListener = await EventListener<ProgressEvent>.CreateAsync(JSRuntime, GetProgressAsync);
85-
await using var loadEndEventLister = await EventListener<ProgressEvent>.CreateAsync(JSRuntime, async e =>
85+
await using var eventListener = await EventListenerInProcess<ProgressEventInProcess, ProgressEvent>.CreateAsync(JSRuntime, e =>
8686
{
87-
imageUrl = "data:image/png;base64," + Convert.ToBase64String(fileReader.ResultAsByteArray ?? new byte[0]);
88-
await GetProgressAsync(e);
87+
if (e.Type == "loadend")
88+
{
89+
imageUrl = "data:image/png;base64," + Convert.ToBase64String(fileReader.ResultAsByteArray ?? new byte[0]);
90+
}
91+
GetProgress(e);
8992
});
9093

91-
await fileReader.AddOnLoadStartEventListenerAsync(eventListener);
92-
await fileReader.AddOnProgressEventListenerAsync(eventListener);
93-
await fileReader.AddOnLoadEventListenerAsync(eventListener);
94-
await fileReader.AddOnAbortEventListenerAsync(eventListener);
95-
await fileReader.AddOnErrorEventListenerAsync(eventListener);
96-
await fileReader.AddOnLoadEndEventListenerAsync(loadEndEventLister);
94+
fileReader.AddOnLoadStartEventListener(eventListener);
95+
fileReader.AddOnProgressEventListener(eventListener);
96+
fileReader.AddOnLoadEventListener(eventListener);
97+
fileReader.AddOnAbortEventListener(eventListener);
98+
fileReader.AddOnErrorEventListener(eventListener);
99+
fileReader.AddOnLoadEndEventListener(eventListener);
97100

98101
fileReader.ReadAsArrayBuffer(blob!);
99102
}

0 commit comments

Comments
 (0)