Wie kann ein Benutzer eine Datei in Fable herunterladen?

Jan 16 2021

Ich habe eine SAFE Stack App. Ich muss Benutzern das Hoch- und Herunterladen von Dateien ermöglichen.

Das Hochladen funktioniert unter Verwendung von

Browser.Dom.FileReader.Create()

Gibt es eine entsprechende Möglichkeit, Benutzern das Herunterladen von Dateien zu ermöglichen?

Diese Antwort bietet eine Lösung mit einem völlig anderen Mechanismus, der von einer js-Bibliothek abhängt. Gibt es keinen Mechanismus, der dem FileReaderAnsatz entspricht?

Antworten

1 ChechyLevas Jan 16 2021 at 20:23

Ich habe mir Folgendes ausgedacht, das für mich zu funktionieren scheint.

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()