Blazor server audio and upload– javascript FTP vs. Blazor object?

Background

I have javascript libraries that I used with asp.net for recording audio in a browser, converting it to .mp3 format, and then uploading it. I’m moderately certain I’ll still be able to use those with JS Interop in Blazor.

My Question

What would be the best way to transfer a file from the client to the server? I’m considering:

  • streaming the entire audio stream directly to the server with SignalR, perhaps after some kind of transfer speed test, then transcoding to .mp3 there.
  • recording and transcoding in javascript, then using javascript FTP to upload (seems a little unsafe to me)
  • recording and transcoding in javascript, then doing an HTTP file transfer through an API
  • recording and transcoding in javascript, then transferring the compressed file object through a C# object of some kind
  • just creating a Blazor app for Windows, using good ol’ mciSendString and using a C# FTP library for the upload to server
  • something better?

Ideas / comments?