且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何使用Blazor上传文件?

更新时间:2023-02-16 14:11:17

在目前的情况下(截至2020年4月2日),您需要JS,这是不可避免的。

您可以采取两种主要方法:

  • 获取输入的onchange事件中的文件数据,并通过将byte[]传递给它们来调用C#方法-这基本上就是您链接的文件选择器方法,您可以在Blazor应用程序中获取文件数据以随心所欲地处理它。

  • 获取输入的onchange事件中的文件数据,并使用JS调用远程端点,该端点将接收文件并对其执行某些操作(如将其保存在NAS上或放入数据库中)。这是实际的文件上载,而不是文件选择器。

从编码的角度来看,这两种方法是相似的-您需要JS。也许在Blazor的未来版本中,我们将获得一个<InputFile>,它将进行选择,以便您可以使用C#HTTP请求上载。

File Selector方法相对容易实现(字面上只有几行),但是它不会在服务器上提供文件,您必须稍微改进一下。文件上载方法更难做到正确。我个人都会用别人的套餐来做这两件事中的任何一件。对于文件上传来说,像Telerik UI for Blazor这样的东西可能适合商业用途,而对于更简单的选择器,已经有了另一个链接示例的答案。顺便说一句,Telerik的演示也有一个这样的示例,即为某些演示实现的组件。