1

I have a class containing some info a user might want to download after visiting a page. Some initial digging points towards using the JSRuntime interop.

MyClass.cs

public class MyClass
    {
        public int Count { get; set; }
        public string Summary { get; set; }
    }

MyClassPage.razor

<button type="button" class="ml-auto p-2 btn btn-primary" onclick="@DownloadFile">Download</button>

...

async Task DownloadFile()
    {
        var testObj = new SpeciesData();
        testObj.Count = 100;
        testObj.Summary = "Lorem Ipsum";

        var fileName = "testing.json";

        var serializedObject = JsonSerializer.Serialize(testObj);
        byte[] bytes = Encoding.UTF8.GetBytes(serializedObject);

        await JS.InvokeAsync<object>(
            "saveAsFile",
            fileName,
            Convert.ToBase64String(bytes ));

    }

How do I get the file to download? Not sure where/how I inject the JS file to the proj (with a function named saveAsFile I assume?)

Similar questions I've referenced:

0 Answers0