如何从浏览器打开本地文件?

时间:2017-09-26 15:51:00

标签: html macos file

尝试打开本地文件时,我正在使用以下内容:

<a href="file:///Users/username/Dropbox/Documents/a/some document.numbers">some document</a>

当我在浏览器中单击上面的内容时,它会将Finder打开到该文件夹​​。但是没有打开文件。我应该做些什么来让数字打开文件吗?

5 个答案:

答案 0 :(得分:3)

您无法在客户端上打开本地文件。这将是一个巨大的安全风险。

您可以链接到服务器上的文件(就像您一样),或者您可以使用$watch

询问客户端是否有文件

答案 1 :(得分:1)

您只能在浏览器中打开某些类型的文件,例如html css jsmp4,否则浏览器会想要下载它。还要记住浏览器用%20替换空格。我建议右键单击该文件并使用chrome打开它,然后复制该链接并使用它。

只要文件位于尝试打开另一个文件的文件位于本地,您就可以打开本地文件。

答案 2 :(得分:0)

您的问题可能是文档名称中的空格。试试这个:

<a href="file:///Users/username/Dropbox/Documents/a/some%20document.numbers">some document</a>

%20将被您的浏览器读取为空格。

<强>更新
另一个答案指出了我错过的东西。您的浏览器无法直接打开.numbers扩展程序。另外,另一个答案描述了这可能造成的安全风险。

答案 3 :(得分:0)

这可能不是你想要做的,但有人可能会发现它有用:

如果您想要分享链接(例如通过电子邮件)到网络文件,您可以这样做:

文件:///Volumes/SomeNetworkFolder/Path/To/file.html

然而,这也要求收件人连接到finder中的网络文件夹---在菜单栏中

Go&gt;连接到服务器

输入服务器地址(例如file.yourdomain.com - “SomeNetworkFolder”将在此目录中)并单击“连接”。现在上面的链接应该有效。

答案 4 :(得分:0)

HTML 5中的File API现在允许您直接从JS处理本地文件(为了安全起见,在基本用户交互之后,选择文件)。

来自the Mozilla File API docs

File界面提供了有关文件的信息,并允许网页中的JavaScript访问其内容。
通常,从File对象中检索FileList对象,这些对象是用户使用<input>元素选择文件后返回的DataTransfer对象,拖放操作的mozGetAsFile()对象或HTMLCanvasElement上的git archive --remote={remote_repo_git_url} {branch} {file_to_download} -o {tar_out_file} API。”

有关更多信息和代码示例,请参见the sample demo linked from the same article