Javascript JS/TS:从目录中读取文件我在浏览器中打开了一个HTML文件

Javascript JS/TS:从目录中读取文件我在浏览器中打开了一个HTML文件,javascript,typescript,browser,file-management,Javascript,Typescript,Browser,File Management,我有一个项目,我可以从一个文件(比如CSV)中可视化数据。我的visualiser是一个用Webpack创建的.html包。到目前为止,我将数据的占位符作为字符串包含在包中。如果我想更改数据,我将bundle.html文件中的占位符替换为我希望它显示的新数据(通过外部脚本) 现在,为了方便起见,我真的很想改变这个。例如,我希望获得与.html文件位于同一目录中的所有受支持文件的列表,并在后台或单击或加载它们的数据。(在最简单的用例中,目录中只有一个数据文件,项目将在启动时自动加载该数据。) 我看

我有一个项目,我可以从一个文件(比如CSV)中可视化数据。我的visualiser是一个用Webpack创建的.html包。到目前为止,我将数据的占位符作为字符串包含在包中。如果我想更改数据,我将bundle.html文件中的占位符替换为我希望它显示的新数据(通过外部脚本)

现在,为了方便起见,我真的很想改变这个。例如,我希望获得与.html文件位于同一目录中的所有受支持文件的列表,并在后台或单击或加载它们的数据。(在最简单的用例中,目录中只有一个数据文件,项目将在启动时自动加载该数据。)

我看了一下,我认为这可能有助于数据的注入。但是,似乎无法从启动.html文件的目录中读取。我已经试过了,但是当我只想双击.html文件时,这些在浏览器中不起作用


浏览器是否可以从我打开.html文件的目录中读取文件?如果是这样的话,如何在Javascript/Typescript中实现这一点?

不,目前无法使用Javascript读取本地文件,即使HTML文件也是本地文件。您可以使用JSONP将其作为脚本加载。一年前,我使用了完全相同的用例,虽然Chrome无法加载csv,但Firefox仅在localhost上不限制文件访问。请在此repo中查看我的超级坏javascript:出于安全原因,浏览器不支持读取任意文件,但您可以允许用户使用
FileReader
API拖放文件,甚至包含多个文件的文件夹。有关详细信息,请参阅。@mamichels该链接给出了一个404答案。这个答案描述了一些更新的解决方案,即使用Blob API。它还提到了一个更新的API,称为文件系统访问API: