Как разрешить пользователю скачивать файл в Fable?

Jan 16 2021

У меня есть БЕЗОПАСНОЕ приложение стека. Мне нужно разрешить пользователям загружать и скачивать файлы.

Загрузка работ с использованием

Browser.Dom.FileReader.Create()

Есть ли соответствующий способ разрешить пользователям скачивать файлы?

Этот ответ предлагает решение с использованием совершенно другого механизма, который зависит от библиотеки js. Нет ли механизма, соответствующего FileReaderподходу?

Ответы

1 ChechyLevas Jan 16 2021 at 20:23

Я придумал следующее, что, кажется, работает для меня.

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