javascript - 将文件从目录获取到 HTML 元素中

标签 javascript html node.js

我所处的情况是,我需要能够从本地磁盘或网络驱动器上的给定目录中获取所有文件,并将它们转换为相应的 HTML 元素。所有这些都必须在客户端完成,但这些客户端是执行此任务的专用计算机(读取文件并在其显示的网页中使用它们)。

我一直在将 Node.js 作为解决方案,这样我就可以使用文件系统 fs 从文件夹中读取文件,然后将文件(我可以通过这种方式传递 mp4 和 PNG 等文件吗?)传递到 browser-run-javascript 以在加载这些文件时构建 HTML。我之所以提出这个问题,是因为我在其他帖子中看到 browser-run-javascript 本身没有权限或访问权限来执行此操作。

我的问题是这样的:
在所有这些机器上安装 Node.js 并读取文件后,浏览器是否有可能(以及如何)从 Node 获取信息,而无需通过网络或通过端口/HTTP 请求?

可以在每个设备上完全在本地完成吗?
我见过 Browserify,但不确定它是否适合这种情况,因此我们将不胜感激!

提前致谢!

编辑:
该场景的具体细节:浏览器需要在加载时从给定文件夹中的文件动态生成幻灯片。像 png、mp4 这样的东西,甚至是在 iframe 中使用的浏览器链接都需要由 Node 或浏览器读取,并转换为幻灯片放映的元素。

最佳答案

is it possible (and how) for the browser to get information from Node without going over the network or through ports/HTTP requests?

是的,有点。

您可以跳过网络,但不能跳过 HTTP 请求,因为这就是浏览器的工作方式。

您可以使用express创建一个node.js网络服务器程序它读取并提供磁盘上的本地文件,并提供其内容以响应 HTTP 请求。然后,您在这些计算机上安装 Node.js 和该程序,并在本地端口上启动它。将浏览器指向 localhost:3000,它将加载您的 Web 应用程序,而无需连接到互联网。

请记住, Node 完全在 Web 浏览器之外运行。它可以完全访问文件系统来执行您想做的任何操作,但出于安全考虑,浏览器永远不会允许这样做。

<小时/>

作为浏览器的完全替代方案,您可以尝试 electron这是一个更强大的解决方案。它创建一个您在桌面操作系统上启动的应用程序,就像任何其他应用程序一样。它可以直接访问文件系统,并且可以在看起来完全不像 Web 浏览器的窗口中呈现您想要的任何 HTML 和 JS。您绝对可以对其进行硬编码以在特定目录中查找,并在启动时显示其中的任何内容。

关于javascript - 将文件从目录获取到 HTML 元素中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57469344/

相关文章:

php - 寻找一个好的 JQuery 计数器

javascript - 如何使用 Javascript、jQuery 将多个操作应用于提交按钮?

javascript - Origin 没有使用地理定位服务的权限——即使是通过 HTTPS

node.js - Bazel 与 lerna 和 yarn 工作区一起使用

javascript - AngularJS 中 Controller 之间如何共享数据?

Javascript - 使用 soundcloud API 进行异步操作

javascript - Node js : alert on database update

javascript - 绑定(bind)未按预期保存值

jquery - 全屏背景视频的 JWPlayer

node.js - AWS Cloud9 Lambda 安装node.js 模块