aardio io.open 打开文件文件路径的坑

最近我看到了一个aardio,他可以创建web应用程序,所以我就开始了学习。

但是我发现,使用io.open打开文件后,无论如何都无法读取,一直报错:

devtool的报错

一开始我以为是因为我使用js来操作aardio函数的问题,后来我单独测试,发现还真是。

最后在我无意之间发现,aardio从资源文件中拖出来的文件路径的分隔符是"\"

 

但是在js里面,我们一般使用"/"作为文件路径分隔符

 

因为我js的代码是直接复制的aardio的内容,所以在vscode中"\"会以红色标记,然后我就发现了这个问题。

随后我将js的分隔符改成了"/",发现正常了,也能正常读写

 附上代码:

js:

/*** 打开文件* @param {string} url 打开文件的路径* @param {string} mode "r+": 打开读写文件;"w+": 打开创建覆写读写文件;"a+": 追加打开创建读写文件*/
function openFile(url, mode) {aardio.openFile(url, mode);
}
/*** 读取文件* @param {any} url 读取的内容下标:https://bbs.aardio.com/doc/reference/libraries/kernel/io/io.html* @returns 读取的文件结果*/
async function readFile(url) {return await aardio.readFile(url);
}openFile('/res/a', 'r+');
readFile("%s").then(function (res) {alert(res);
})

 aardio:

import win.ui;
import win.ui.menu;
/*DSG{{*/
var winform = win.form(text="WebView2";right=966;bottom=622)
winform.add()
/*}}*///创建浏览器组件
import web.view;
var wb = web.view(winform);
var file;io.open();
//导出本地函数给网页 JavaScript
wb.external = {openFile = function(url,modes){file = io.open (url, modes);io.print("打开文件:",url,"类型:",modes,"结果:",file);}readFile = function(url){var s = file.read(url);io.print("读取文件:",url,"打开内容:",s);return s;}
}
import sys;
//打开目标网站
wb.go("\res\index.html");
//显示窗体
winform.show(true)
//进入消息循环
win.loopMessage();
return wb,winform;


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部