rust wasm引入的std::fs操作文件报错

新手上路,请多包涵

请教个问题,为啥我下面的代码编译成wasm后(xx.js和xx_bg.wasm),HTML引入编译后的文件,alert是可以弹出的,就是下面的文件操作的代码报错了,但是不知道原因,求教。

报错:Uncaught (in promise) RuntimeError: unreachable
// main.rs
extern crate wasm_bindgen;
use wasm_bindgen::prelude::*;
use std::fs;
#[wasm_bindgen]
extern {
    pub fn alert(s: &str);
    pub fn winConsoleLog(s: &str);
}
#[wasm_bindgen]
pub fn greet(name: &str) {
    alert(&format!("Hello, {}!", name));
    let text=fs::read_to_string("D:\\text.txt").unwrap();
    winConsoleLog(&format!("{}", text));
    fs::write("D:\\text.txt", name).unwrap();
}
// Cargo.toml
......
[lib]
crate-type = ["cdylib"]
path = "src/main.rs"
[dependencies]
wasm-bindgen = "0.2"
阅读 2.4k
1 个回答

wasm 要能访问本地文件系统那不乱套了吗,谁还敢打开网页
unsupported

web上操作文件必然是 js api 获取到内容后传给wasm模块,你可以考虑使用stdweb

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题