จะให้ผู้ใช้ดาวน์โหลดไฟล์ใน Fable ได้อย่างไร?

Jan 16 2021

ฉันมีแอป SAFE stack ฉันต้องการให้ผู้ใช้สามารถอัปโหลดและดาวน์โหลดไฟล์ได้

การอัปโหลดผลงานโดยใช้ประโยชน์จากไฟล์

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