Come consentire a un utente di scaricare un file in Fable?

Jan 16 2021

Ho un'app stack SAFE. Devo consentire agli utenti di caricare e scaricare file.

Caricamento di opere utilizzando

Browser.Dom.FileReader.Create()

Esiste un modo corrispondente per consentire agli utenti di scaricare file?

Questa risposta offre una soluzione utilizzando un meccanismo completamente diverso che dipende da una libreria js. Non esiste un meccanismo che corrisponda FileReaderall'approccio?

Risposte

1 ChechyLevas Jan 16 2021 at 20:23

Ho escogitato quanto segue che sembra funzionare per me.

let downLoad fileName fileContent =
    let anchor = Browser.Dom.document.createElement "a"
    let encodedContent = fileContent |> sprintf "data:text/plain;charset=utf-8,%s" |> Fable.Core.JS.encodeURI
    anchor.setAttribute("href",  encodedContent)
    anchor.setAttribute("download", fileName)
    anchor.click()