Blazor.SeekableStream
1.0.1
dotnet add package Blazor.SeekableStream --version 1.0.1
NuGet\Install-Package Blazor.SeekableStream -Version 1.0.1
<PackageReference Include="Blazor.SeekableStream" Version="1.0.1" />
paket add Blazor.SeekableStream --version 1.0.1
#r "nuget: Blazor.SeekableStream, 1.0.1"
// Install Blazor.SeekableStream as a Cake Addin #addin nuget:?package=Blazor.SeekableStream&version=1.0.1 // Install Blazor.SeekableStream as a Cake Tool #tool nuget:?package=Blazor.SeekableStream&version=1.0.1
A Stream interop for Blazor from Javascript to .NET that supports Seek
operations (as well as Position
property). By default, Blazor's IJSStreamReference
does not support Seek
method and throws NotSupportedException
.
Installation
Install the NuGet package Blazor.SeekableStream
to your Blazor project.
dotnet add package Blazor.SeekableStream
Usage
See also: the Demo project.
Get a hold to a Javascript's ArrayBuffer
, Blob
or Response
object and pass it to .NET as the usual IJSObjectReference
.
For example, this function send a File
(which is a Blob
) that the user picked:
interop.js:
export function pickFileAsync() {
return new Promise(r => {
const txt = document.createElement("input");
txt.type = "file";
txt.onchange = () => r(txt.files[0]);
txt.click();
});
}
Then in .NET, call AsSeekableStreamReference
on the appropriate IJSObjectReference
instances. You need to pass an IJSRuntime
instance as the parameter as well.
Index.razor.cs:
var mod = await Js.InvokeAsync<IJSObjectReference>(
"import",
"/interop.js");
var file = await mod.InvokeAsync<IJSObjectReference>(PickMethodName);
var seekable = file.AsSeekableStreamReference(Js);
var stream = await seekable.OpenReadStreamAsync();
// Work with Stream
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net7.0
- Microsoft.AspNetCore.Components.Web (>= 7.0.5)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.1 | 179 | 5/13/2023 |