如何使用Blazor上传文件? [英] How do I upload files with Blazor?

查看:23
本文介绍了如何使用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上传文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆