【发布时间】:2020-08-20 11:57:59
【问题描述】:
我正在开发一个简单的 blazor 应用程序,它接收文件上传并存储它。我正在使用BlazorInputFile,但我无法弄清楚为什么将流复制到 MemoryStream 会导致浏览器冻结。
如何使用(以及如何实现)BlazorInputFile 的详细信息在这篇博文中进行了解释:Uploading Files in Blazor。
var ms = new MemoryStream();
await file.Data.CopyToAsync(ms); // With a 1MB file, this line took 3 seconds, and froze the browser
status = $"Finished loading {file.Size} bytes from {file.Name}";
示例项目/repo:https://github.com/paulallington/BlazorInputFileIssue (这只是默认的 Blazor 应用,根据文章实现了 BlazorInputFile)
【问题讨论】:
-
@HenkHolterman Blazor/Wasm
-
多么奇怪,我现在可以持续复制。我追踪了它,看起来它实际上可能是 blazor 中的一个错误,我刚刚在 github 上看到了一个问题。 StateHasChanged 是我认为更大的应用程序的后遗症,抱歉复制和粘贴问题:)
-
你有没有设法解决这个问题?我正在尝试加载 ~
5MB文件,但所有内容都无限期冻结... -
@WBuck 最后我有点放弃了,并尝试了 RadZen 文件上传器 - 它工作得非常好,并且有很好的进度指示器
-
这很有趣,我最终做了同样的事情。
标签: c# blazor blazorinputfile