该错误是由于下载文件时使用了WebAssembly版本的Blazor,并且没有在程序集中找到相应的downloadFileFromStream方法引起的。解决方式是使用JSRuntime.InvokeVoidAsync方法调用浏览器下载文件的API,示例代码如下:
- 在Blazor组件中使用以下代码实现文件下载:
@inject IJSRuntime JSRuntime
async void DownloadFile()
{
var response = await Http.GetFromJsonAsync("your/api/file");
var streamContent = await response.Content.ReadAsStreamAsync();
await JSRuntime.InvokeVoidAsync("saveAsFile", "example.zip", Convert.ToBase64String(await streamContent.ReadAllBytes()));
}
- 在index.html文件的