未处理的异常呈现组件:在'window'中找不到'BlazorInputFile'


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

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

Microsoft.AspNetCore.Components.WebAssembly.Frendering.WebAssemblyRenderer[100]呈现组件时出现未处理的异常:在"window"中找不到"BlazorInputFile"。p/<https://localhost:5003/_framework/blazor.webassembly.js:1:9130

我遵循了本文推荐的步骤:https://www.mikesdotnetting.com/article/341/uploading-files-in-blazor

  1. 在客户端项目中:安装包BlazorInputFile-版本0.2.0
  2. 在index.html中添加<script src="_content/BlazorInputFile/inputfile.js"></script>
  3. 添加"@使用System.IO";以及"@使用BlazorInputFile";在_Imports.razor中

只有当我使用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}";
}
}
}

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

相关内容

  • 没有找到相关文章