某些东西阻塞了我的线程-Blazor wasm

时间:2020-04-15 08:16:05

标签: blazor-client-side asp.net-blazor matblazor

使用MatBlazor,我正在尝试上传文件。但是,某些东西阻塞了线程,整个应用程序也被阻塞了。我不知道为什么。似乎线程被阻塞,直到文件已加载到内存中为止。 是我的代码还是阻止线程的MatFileUploadEntry?

有人有什么主意吗?

致电:

<MatFileUpload OnChange="@FileUpload"></MatFileUpload>

响应:

 private async Task FileUpload(IMatFileUploadEntry[] files)
    {

        var f = files.FirstOrDefault();

        if (f.Name.IsValidFileFormat())
        {

            var file = await GetFileModel(f);

            if (f.Name.IsImage())
                Model.Image = file;
            else
                Model.Document = file;


        }
    }
    private async Task<FileModel> GetFileModel(IMatFileUploadEntry f)
    {
        var sw = new Stopwatch();

        sw.Start();
        using var ms = new MemoryStream();
        await f.WriteToStreamAsync(ms);
        sw.Stop();

        var base64String = Convert.ToBase64String(ms.ToArray());
        return new FileModel
        {
            FileName = f.Name,
            FileContentBase64 = base64String
        };
    }

0 个答案:

没有答案
相关问题