Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Blazor unterstützt jetzt optimierte Bytearray-Interoperabilität, wodurch Codierung und Decodierung von Bytearrays in Base64 vermieden und ein effizienterer Interoperabilitätsprozess ermöglicht wird. Dies gilt sowohl für Blazor Server als auch für Blazor WebAssembly.
Eingeführte Version
ASP.NET Core 6.0
Zurückgeben eines Bytearrays aus JavaScript an .NET
Altes Verhalten
function receivesByteArray(data) {
// Previously, data was a Base64-encoded string representing the byte array.
}
Neues Verhalten
function receivesByteArray(data) {
// Data is a Uint8Array (no longer requires processing the Base64 encoding).
}
Grund für Änderung
Diese Änderung wurde vorgenommen, um einen effizienteren Interoperabilitätsmechanismus für Bytearrays zu schaffen.
Empfohlene Aktion
Zurückgeben eines Bytearrays aus JavaScript an .NET
Betrachten Sie diese .NET-Interoperabilität, in der Sie JavaScript aufrufen, um ein Bytearray zu übergeben:
var bytes = new byte[] { 1, 5, 7 };
await _jsRuntime.InvokeVoidAsync("receivesByteArray", bytes);
Im vorherigen Codebeispiel behandeln Sie den eingehenden Parameter in JavaScript als Bytearray anstelle einer base64-codierten Zeichenfolge.
Zurückgeben eines Bytearrays von JavaScript zu .NET
Wenn .NET ein byte[]
erwartet, muss JavaScript ein Uint8Array
bereitstellen. Es ist weiterhin möglich, ein Base64-codiertes Array mithilfe von btoa
bereitzustellen, das jedoch weniger effizient ist.
Wenn Sie beispielsweise über den folgenden Code verfügen, sollten Sie ein Uint8Array
JavaScript bereitstellen, das nicht base64-codiert ist:
var bytes = await _jsRuntime.InvokeAsync<byte[]>("someJSMethodReturningAByteArray");