0

我正在从 JavaScript 发送一个 FileList 并尝试从列表中读取特定文件的参数,例如文件名,但我收到错误:(我method not found in Option<web_sys::File>尝试了不同的变体来调用 File 的 getter 方法,例如在web-sys 文档中定义但没有成功)。

#[wasm_bindgen]
pub fn get_file_list_detail(files : web_sys::FileList) -> Option<web_sys::File> {
    let first_file = files.get(1);
    log!("Test console log from rust {:?}=",first_file.name()); //this is not working
    return first_file;
}

我在 Cargo.toml 中添加了Fileand :FileList

[dependencies.web-sys]
version = "0.3"
features = [
    "HtmlInputElement",
    "FileList",
    "File",
    "console"
]
4

1 回答 1

1

files.get(1)返回Option<File>可以是Noneor 或Some(File)variant。您可以使用match语句来匹配这些变体并采取相应的措施。

#[wasm_bindgen]
pub fn get_file_list_detail(files : web_sys::FileList) -> Option<web_sys::File> {
    let first_file = files.get(1);
    match first_file {
        Some(ref file) => {
            log!("Test console log from rust {:?}=",file.name());
        },
        None => {
            log!("file is Missing")
        }
    }
    
    return first_file;
}
于 2022-02-23T14:09:49.617 回答