What is the best way to write Serialized Save Data to a file using WebGL

I am attempting to use a WebGL build of a Unity project to download a file that can be passed to other people and then reloaded.
This file, so far, has been created in editor builds using a pretty well documented approach with a custom serialized struct that holds the data to be saved, the system.io filestream, and the BinaryFormatter.Serialize and Deserialize commands. A file created in this way can be used by my current WebGL build load up the proper data. What I am having trouble with is writing this file with WebGL, as the same methods write it to an apparently undownloadable part of an IndexedDB, even with the proper index.
Is there a good way to attempt this? I have tried several, but none seem to work properly so I would like to put this out there as a general question. If you are interested in my attempts, I can post the code here as well.

For anyone in the future who searches fruitlessly for hours looking for what turns out to be a pretty simple solution in two parts. One, the JSLIB that handles downloads:

mergeInto(LibraryManager.library, {

    InitiateDownload: function(fileName, textureData) {
        var link = document.createElement(""a"");
        link.download = Pointer_stringify(fileName);
        link.href = 'data:application/octet-stream;charset=utf-8;base64,'+

delete link;

Part two, passing in the data. I accomplished this by using BinaryFormatter to write a file to the IndexedDB and then immediately running File.ReadAllBytes, converting that data ToBase64String, then passing it to the JSLIB method like so:

string saveName = “mySaveData.dat”;
string concatinatedFilepath =
Application.persistentDataPath + “/” +
saveName; byte formattedFS =
string base64 =
InitiateDownload(saveName, base64);

Much thanks to @Bunny83 for helping me with this in a different thread.