BlazorInputFile - Synchronous reads are not supported

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.

1

1 Answer

Looks like the issue is you are using the synchronous version of Stream.CopyTo Method which is the reason you are getting the error message about synchronous reads not being supported. I believe changing that line to:

await e.File.OpenReadStream().CopyToAsync(ms);

Will most likely solve your issue.

1

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

You Might Also Like