Blazor 支持将数据直接从 .NET 流式传输到 JavaScript。 流是使用 DotNetStreamReference 创建的。
DotNetStreamReference 表示 .NET 流,并使用以下参数:
stream:发送到 JavaScript 的流。leaveOpen:确定传输后流是否保持打开状态。 如果未提供值,则leaveOpen默认为false。
在 JavaScript 中,使用数组缓冲区或可读流接收数据:
使用 ArrayBuffer:
async function streamToJavaScript(streamRef) {
const data = await streamRef.arrayBuffer();
}
使用 ReadableStream:
async function streamToJavaScript(streamRef) {
const stream = await streamRef.stream();
}
在 C# 代码中:
using var streamRef = new DotNetStreamReference(stream: {STREAM}, leaveOpen: false);
await JS.InvokeVoidAsync("streamToJavaScript", streamRef);
在上面的示例中:
{STREAM}占位符表示发送到 JavaScript 的 Stream。JS是一个注入的 IJSRuntime 实例。
- Call .NET methods from JavaScript functions in ASP.NET Core Blazor 介绍反转操作,从 JavaScript 流式传输到 .NET。
-
ASP.NET Core Blazor file downloads 介绍如何在 Blazor 中下载文件。