如何格式化表示本地系统上文件路径的字符串
How to format strings that represent file paths on the local system
我有一些javascript代码,可以对服务器进行REST调用并检索对象。这些对象有一个名为"path"的属性,该属性指的是本地文件系统中的html文件。所以我有一个类似的ancore标签
<a href="' + result.path +'" class="test">view</a>
在运行时将被替换为类似的东西
<a href="C:'Users'Tim'Downloads'0000048.html" class="test">view</a>
假设我们在windows系统上,路径的值为C:''Users''Merylin''Downloads''0000048.html.
当我点击链接时,它会导航到C:''Users''Merylin''Downloads''0000048.html,但我从浏览器收到错误响应,无法识别地址。但当我重新加载页面时,它显示得很好,但我注意到地址已更改为file:///C:''Users''Merylin''Downloads''0000048.html,请注意附加文件:///。我不希望用户在页面显示之前必须重新加载页面。我只是想知道是否有一些javascript函数可以用来格式化路径,这样浏览器就可以接受它。注意,我对路径的创建方式没有任何控制,我只是使用REST读取它,它可能来自windows或linux。
您可以在文件路径前附加"file:///"。用户只需单击即可获得页面。
我希望这对你有帮助。
正如Yuva所说,要指定本地路径,必须在文件路径前加上"file:///"。
但它仍然不适用于您,因为出于安全原因,大多数浏览器都不允许链接到本地资源。
这就是你第一次尝试时看到的错误。
当你重新加载页面时,它会起作用,因为它已经将url放在地址栏中,因此"重新加载"与手动写入路径并按"回车"非常相似。通常应该有意识地执行的操作,因此大多数浏览器(支持本地文件系统探索的浏览器)不会阻止它
总之,如果你被迫链接本地文件,你将被迫手动重新加载,或者最多使用一些浏览器插件,比如Firefox的Locallink,以便能够直接打开它们(但至少Locallink需要使用上下文菜单选项,这已经确保了你不会犯错误。我不知道是否还有其他插件没有这样做)。
但是,无论如何,如果这些文件有可能从服务器上获得,那么更好的解决方案是从您的应用程序中提供服务。例如,如果您的服务器实现在Node+Express上,则在保存文件的路径上使用静态路由器。
- 将Windows文件路径组织到文件夹中
- 在ng中给出文件路径包括什么
- 无法在ajax调用中发布绝对文件路径-无论我做什么,它都会返回斜杠
- 用于在web服务器中上载的文件路径
- javascript文件中带有php(wordpress)的Src文件路径
- 在linux上使用软件包减少grunt的大小.文件路径对Jenkins来说太长
- 使用正则表达式angularjs验证文件路径
- 从不一致的文件路径数组中获取键的值
- 使用 jQuery 从 HTML 中的多个图像元素中删除文件路径
- 如何将本地文件路径转换为文件::?/url在node.js中的安全性
- 如何在dropzone.js中获取选定的文件路径
- 为什么在下面的场景中,用于存储所选文件名和文件路径的隐藏输入字段没有在表单上生成
- windows文件路径转换为mac
- 将文件路径从XSL传递到JavaScript函数
- 是否可以不在grunt中提及所有的脚本文件路径
- 输入类型文件将文件路径添加到范围
- Node Webkit从avi文件路径获取视频持续时间
- 如何将JavaScript文件路径映射到ASP.Net MVC控制器操作
- php文件上传返回文件和文件路径的有效性
- 通过document.location以javascript中的字符串形式传递文件路径