【问题标题】:Upload files using EditForm in Blazor Server?在 Blazor Server 中使用 EditForm 上传文件?
【发布时间】:2020-08-31 07:51:59
【问题描述】:

我正在使用 Blazor 服务器端并想上传一些文件。我不需要任何进度条左右,只想在提交EditForm 时上传文件。到目前为止,我发现的流行解决方案(Synfusion Blazor 文件上传,Steve Sandersons File Upload)在选择文件后上传文件,而不是在 EditFormsubmit 上。对于我的简单案例,我不能只在 HTML 中使用input type="file" 吗?我将如何使用EditForm 执行此操作,以及如何在服务器端接收文件?

【问题讨论】:

    标签: file-upload blazor blazor-server-side blazor-editform


    【解决方案1】:

    Steve Sandersons File Upload 工作,在

    void HandleFileSelected(IFileListEntry[] files)
    {
        // Do something with the files, e.g., read them
    }
    

    只需存储files 并在提交表单时访问IFileListEntry.Data。无需立即读取HandleFileSelected 中的流。

    【讨论】:

      【解决方案2】:

      Steve Sandersons 文件上传很好,但不是必需的。我自己的代码在Change 事件中处理文件上传,但我很确定您可以通过以下方式推迟上传:

      <InputFile OnChange="HandleFileUpload" multiple></InputFile>
      
      @code {
          InputFileChangeEventArgs FileArgs {get; set;}
      
       async Task HandleFileUpload(InputFileChangeEventArgs e)
      {
          FileArgs = e;
      }
      

      然后,当您准备好实际处理文件时,请继续处理参数,例如(例如,在您的表单提交方法中):

      foreach (var imageFile in FileArgs.GetMultipleFiles(maxAllowedFiles))
      {
          // Do file stuff
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-07-24
        • 2021-06-16
        • 1970-01-01
        • 2022-11-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多