2

我创建了一个默认的 Blazor WebAssembly 应用程序来测试 BlazorInputFile 组件。

每当我启动应用程序时,如果我转到仅使用上传文件选项创建的简单页面,我就会收到以下错误消息。但是,如果我只是刷新页面,错误就会消失并且不会再次出现。

Microsoft.AspNetCore.Components.WebAssembly.Rendering.WebAssemblyRenderer [100] 未处理的异常呈现组件:在“窗口”中找不到“BlazorInputFile”。p/<@https://localhost:5003/_framework/blazor.webassembly.js:1:9130

我按照本文推荐的步骤操作: https ://www.mikesdotnetting.com/article/341/uploading-files-in-blazor

  1. 在客户端项目中:Install-Package BlazorInputFile -Version 0.2.0
  2. 添加<script src="_content/BlazorInputFile/inputfile.js"></script>index.html
  3. 在 _Imports.razor 中添加“@using System.IO”和“@using BlazorInputFile”

此错误仅在我使用 Firefox 浏览器时出现,如果我使用 Microsoft Edge,则不会出现此错误。

我创建的页面很简单:

@page "/singlefile"

<h1>Single file</h1>

<p>A single file input that uploads automatically on file selection</p>

<InputFile OnChange="HandleSelection" />

<p>@status</p>

@code {
    string status;

    async Task HandleSelection(IFileListEntry[] files)
    {
        var file = files.FirstOrDefault();
        if (file != null)
        {
            // Just load into .NET memory to show it can be done
            // Alternatively it could be saved to disk, or parsed in memory, or similar
            var ms = new MemoryStream();
            await file.Data.CopyToAsync(ms);

            status = $"Finished loading {file.Size} bytes from {file.Name}";
        }
    }
}

4

1 回答 1

1

我已经通过禁用广告拦截器解决了这个问题。显然它会导致发生此异常。

于 2020-11-14T23:05:00.910 回答