HTML5从路径读取文件

时间:2013-03-26 11:28:03

标签: html5

好吧,使用HTML5文件手绘api,我们可以通过inpty类型文件的协作来读取文件。怎么样的准备文件与拍像 /images/myimage.png 等??

感谢任何形式的帮助

2 个答案:

答案 0 :(得分:3)

是的,如果是铬!使用文件系统,您将能够做到这一点。

答案 1 :(得分:1)

简单的答案是;没有。当您的HTML/CSS/images/JavaScript被下载到客户端时,您将破坏服务器。

简单流程图

  • 用户在浏览器中请求网址(例如; www.mydomain.com/index.html
  • 服务器读取并提取所需文件(www.mydomain.com/index.html
  • index.html及其链接的资源将下载到用户的浏览器
  • 用户的浏览器将呈现HTML页面
    • 用户的浏览器只会获取请求附带的文件(images / someimages.png和诸如scripts / jquery.js之类的东西)

<强>解释

您在这里面临的问题是,当HTML在本地呈现时,它不再与服务器建立链接,因此请求/images/包含文件的内容在逻辑上不具有可比性,因为它驻留在服务器上。 / p>

<强>变通

你可以做什么,但这会忽略问题的原因,就是在JSP / PHP / ASP /等中制作服务器端脚本。然后,此脚本将遍历您想要的目录。在PHP中,您可以使用opendir()http://php.net/opendir)。

来完成此操作

通过XHR / AJAX调用,您可以请求PHP页面返回目录列表。最简单的方法是将jQuery的$.post()函数与JSON结合使用。

<强>注意!

您需要记住,如果您使用解决方法,您将存储一个链接,让每个人都可以看到您请求的在线目录中的内容(例如http://www.mydomain.com/my_image_dirlist.php将返回一个字符串列表在http://www.mydomain.com/images/内的所有内容(或更少基于服务器端脚本中的某些规则)。

备注

  • http://www.html5rocks.com/en/tutorials/file/filesystem/(似乎仅适用于Chrome,但仍不完全符合您的要求)
  • 如果您不需要文件夹中的所有文件,只需要在URL请求中下载到浏览器缓存中的文件;您可以尝试在线搜索以访问当前加载页面的浏览器缓存(下载文件)。或者制作像DOM-walker和CSS阅读器(正则表达式?)之类的东西来查看所有文件关系的位置。