I am trying to use SteveSanderson's BlazorInputFile package to upload files in a Blazor WASM app. (Server/Client setup). I installed the package according to the instructions on his blog post.
My api takes in the file in a byte[] so I am converting the file from a Stream to byte[], and then posting to my API endpoint in the Server.
private async Task Upload(InputFileChangeEventArgs e)
{
MemoryStream ms = new MemoryStream();
e.File.OpenReadStream().CopyTo(ms);
var bytes = ms.ToArray();
UploadFile file = new UploadFile
{
FileName = e.File.Name,
FileContent = bytes,
Size = e.File.Size,
ContentType = e.File.ContentType
};
await Http.PostAsJsonAsync<UploadFile>("/api/uploadfile", file);
await OnInitializedAsync();
}
Unfortunately I keep getting an error/exception from BlazorInputFile which says "Synchronous reads are not supported".
I have tried to search the error and had various fixes (Browser adblocker could be blocking etc) but not of them has fixed the problem.