import {
"mizchi/js_browser@0.13.0",
}import {
"mizchi/js_browser/file",
}fn main {
// Get file input element
let doc = @dom.document()
let input = doc.get_element_by_id("fileInput")
// Access selected files
let files = input.files()
let file = files.item(0)
// Read file as text
let reader = @file.FileReader()
reader.set_onload(fn(event) {
let result = reader.result()
@console.log("File content:", result)
})
reader.read_as_text(file)
// Other reading methods:
// reader.read_as_data_url(file)
// reader.read_as_array_buffer(file)
}pub(all) struct File {
name : String
lastModified : Int
size : Int
}#alias(read_as_array_buffer)
fn FileReader::readAsArrayBuffer(self : FileReader, blob : Blob) -> Unit#alias(read_as_text)
fn FileReader::readAsText(self : FileReader, blob : Blob, encoding? : String) -> UnitInstall
Download zipweb standard api bindings (fetch, Streams, Blob, URL, Crypto, ...)
Dependencies