如何在我自己的代码中使用Google Chrome 11的上传文件夹功能?

Pet*_*ter 58 html5 google-chrome multifile-uploader

Google Chrome 11现在支持上传文件夹.目前此功能仅在Google文档中实现,我无法在我的代码中找到有关如何使用此功能的任何API文档.

从我所看到的,你点击谷歌文档中的上传文件夹链接,它显示"浏览文件夹"对话框(通过它的外观调用SHBrowseForFolder),你选择一个文件夹,然后该文件夹的内容是已上传到Google文档.

由于此功能需要将Google Chrome升级到最新版本,或者运行Java Applet的其他浏览器,我认为我可以在自己的网站中使用此功能?

我希望在我维护的内容管理系统中拥有此功能!

Kin*_*lan 76

你应该可以在这里看到一个演示:http://html5-demos.appspot.com/static/html5storage/demos/upload_directory/index.html

基本上它通过在文件输入元素上设置属性"webkitdirectory"来工作.

<input type="file" id="file_input" webkitdirectory="" directory="">
Run Code Online (Sandbox Code Playgroud)

然后,当用户选择了一个文件夹时,它会遍历"e.target.files"对象以获取选择中包含的文件列表(这使您可以从客户端访问这些文件).

拖放类似,当您在"draggable"元素上监听"ondrop"事件时,如果将一个目录或选择的文件放到该元素上,则该事件上的"files"属性将是一个文件列表包含在操作中.

  • 保罗是完全正确的.作为旁注,如果你想要Firefox中的功能,你还需要添加一个空的`mozdirectory`属性. (16认同)
  • 我不认为Mike West是对的.Firefox似乎不支持"mozdirectory"或"目录". (15认同)
  • 是否存在关于此功能的任何文档?博客帖子提到了吗?在MDN/caniuse.com等上找不到任何内容.如果您提交POST,上传所有文件并忽略文件夹,会发生什么? (4认同)
  • 它不保留文件夹结构,这会递归上传所有文件。如何保存目录结构? (2认同)