【问题标题】:Using Javascript, how can I load documents in the browser using a path使用 Javascript,如何使用路径在浏览器中加载文档
【发布时间】:2016-05-31 15:42:04
【问题描述】:

使用 JavaScript,我想从网络驱动器在浏览器中加载文档(csv、pdf 等)。我们希望避免将此网络驱动为 Web 服务器。

为了让您放心,这是一个内部网络应用程序。 有没有办法做到这一点?

我试图在网上找到解决方案,但我似乎无法找到明确的答案,所以这就是我在这里问的原因。

我试过了:

  1. XMLHttpRequest();
  2. window.location.assign();

【问题讨论】:

  • 如果没有用户交互,您无法从浏览器访问文件系统。但是,您可以使用 window.location = [network path] 将浏览器定位到网络路径。
  • xmlhttprequest... 注意 HTTP 部分。你需要一个网络服务器。
  • 我自己试过了,我的评论少了一条:您必须在网络路径前添加“file:///”才能让浏览器打开它。您可以通过将 pdf/图片文件拖到浏览器窗口并检查其 url 来试用它。所以基本上 window.location = "file:///C:/somefolder/anotherfolder/document.pdf" 会在您的浏览器中打开 document.pdf。也应该使用网络路径。
  • 到目前为止,我已经尝试了所有的回复,但没有成功。我想没有人愿意通过反对票来回答这个问题

标签: javascript file


【解决方案1】:

我用下面的来显示一个PDF文档

<object data="http://url.com/to/your/file.pdf" type="application/pdf" width="100%" height="600px"></object>

【讨论】:

  • 这不适用于路径,仅适用于 url,但感谢您的响应。
  • 为什么不把它放到免费访问的保管箱中
  • 感谢您的回复,但我们希望存储超过 300GB 的文档,并且不启用 Web 以提高灵活性。
  • 我很抱歉,但我认为这是不可能的,因为您的网络驱动器已关闭远程访问,这意味着您的 Web 应用程序/站点位于单独的 IP 上将无法找到您的本地 IP未分配给唯一的访问地址。
【解决方案2】:

当然,这并不能直接回答问题。以这种方式使用 javascript 是不可能的。

所以我的替代方法是在 apache httpd 配置文件中为网络驱动器创建一个别名

&lt;IfModule alias_module&gt;

别名/docs/“驱动路径”

&lt;IfModule alias_module&gt;之后

<Directory "drive path"> Require all granted Order allow,deny Allow from all </Directory>

重启服务器

现在 url/docs/text.txt 显示文件的内容 如果是pdf,它会在浏览器中显示pdf 如果是 csv,它会为用户下载文件

我希望这对其他人有帮助

【讨论】:

    猜你喜欢
    • 2012-04-08
    • 1970-01-01
    • 2010-11-18
    • 2015-03-13
    • 1970-01-01
    • 1970-01-01
    • 2013-05-08
    相关资源
    最近更新 更多