Javascript、Typescript、Angular 5 - 打开并读取文件
我正在使用 Angular 5,我有一个应用程序,需要将 AMP HTML 文件作为文本读取。这个文件包含在一个组件中,并且应该只从这个组件中访问。
我希望能够通过提供文件名以只读方式打开该文件。
我实际上正在寻找像这样的东西:
let file = open('amp.html');
这可能吗?如果不可能,我该如何做到这一点?
答案#1
如果你在编写浏览器端的 JS
你不能只是简单地读取一个文件。JS 在你的浏览器中运行,你需要考虑你从哪里获取那个文件。
如果文件在服务器上,你需要先通过向服务器发出请求来获取该文件。
如果你正在读取用户计算机上的文件,你将使用浏览器上的文件 API 来允许用户选择该文件。
如果你在写后端JS
假设你正在使用 NodeJS,你可以像使用其他编程语言一样进行文件操作。查看 fs 模块
答案#2
如果我理解正确,你可以像这样把它当作文本来阅读:
function readFile(file){
var raw = new XMLHttpRequest(); // create a request
raw.open("GET", file, false); // open file
raw.onreadystatechange = function (){ // file is ready to read
if(raw.readyState === 4){
if(raw.status === 200 || raw.status == 0){
var allText = raw.responseText;
alert(allText); // can be also console.logged, of course.
}
}
}
raw.send(null); // return control
}
用法:
readFile('link.html')
多亏了这个问题,我解决了这个问题。
