How do I upload files with Blazor?(如何使用Blazor上传文件?)
问题描述
我找到了BlazorInputFile库,但是从2019年10月开始还有打开的请购单,我不确定这个库是否还在维护。另外,我在博客上找到了几篇关于如何在Blazor中使用JS上传文件的文章。虽然如果可能的话,我不想使用JS,但我确实需要使用Blazor上传文件.是否可以在不使用JavaScript的情况下执行此操作?
推荐答案
在目前的情况下(截至2020年4月2日),您需要JS,这是不可避免的。
您可以采取两种主要方法:
获取输入的
onchange
事件中的文件数据,并通过将byte[]
传递给它们来调用C#方法-这基本上就是您链接的文件选择器方法,您可以在Blazor应用程序中获取文件数据以随心所欲地处理它。获取输入的
onchange
事件中的文件数据,并使用JS调用远程端点,该端点将接收文件并对其执行某些操作(如将其保存在NAS上或放入数据库中)。这是实际的文件上载,而不是文件选择器。
从编码的角度来看,这两种方法是相似的-您需要JS。也许在Blazor的未来版本中,我们将获得一个<InputFile>
,它将进行选择,以便您可以使用C#HTTP请求上载。
File Selector方法相对容易实现(字面上只有几行),但是它不会在服务器上提供文件,您必须稍微改进一下。文件上载方法更难做到正确。我个人都会用别人的套餐来做这两件事中的任何一件。对于文件上传来说,像Telerik UI for Blazor这样的东西可能适合商业用途,而对于更简单的选择器,已经有了另一个链接示例的答案。顺便说一句,Telerik的演示也有一个这样的示例,即为某些演示实现的组件。
这篇关于如何使用Blazor上传文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何使用Blazor上传文件?


基础教程推荐
- rabbitmq 的 REST API 2022-01-01
- MS Visual Studio .NET 的替代品 2022-01-01
- 将 Office 安装到 Windows 容器 (servercore:ltsc2019) 失败,错误代码为 17002 2022-01-01
- SSE 浮点算术是否可重现? 2022-01-01
- c# Math.Sqrt 实现 2022-01-01
- 如何在 IDE 中获取 Xamarin Studio C# 输出? 2022-01-01
- 有没有办法忽略 2GB 文件上传的 maxRequestLength 限制? 2022-01-01
- 为什么Flurl.Http DownloadFileAsync/Http客户端GetAsync需要 2022-09-30
- 如何激活MC67中的红灯 2022-01-01
- 将 XML 转换为通用列表 2022-01-01