【问题标题】:beginner: <input type="folder">?初学者:<input type="folder">?
【发布时间】:2012-03-23 13:14:40
【问题描述】:

免责声明:我是 python 和 django 新手,但有 Drupal 编程经验。

在我的 django 站点上(安装在本地用户的 PC 上),我有一个像这样的 html 模板 (django) 表单:

<form id="blah" method="post" action=""> 
<input type="file" id="fname" size="50"/>

这几乎是完美的。但是,我的应用程序要求用户单击浏览(例如,在 Microsoft Windows 上),然后选择不是文件而是文件夹(我只需要浏览按钮提供的文本路径)。我不需要传输任何文件或文件夹。我只需要那个路径(例如 c:/users/name/desktop/folder)

你会怎么做? jQuery? html? Python? django?

【问题讨论】:

  • 如果您不传输任何文件,我很想知道为什么您认为需要用户计算机上的文件夹名称。

标签: jquery python html django


【解决方案1】:

你不能。

浏览器具有限制从网站访问文件的安全功能。如果用户选择一个文件,一些浏览器会让你获得完整的文件路径,但有些(至少是 Chrome)甚至会混淆它。

我相信你最好的选择是闪存。

【讨论】:

  • 或者你可以使用 java 小程序
  • @j_mcnally 是的,您也可以使用 Java Applet。不过,我不希望我的任何敌人遭受如此痛苦。
  • 如果用户单击浏览按钮,选择一个文件,然后 Jquery 从该字段中提取路径怎么办? (还是被主流浏览器禁用?)另外,由于这是在同一台 PC 上运行的 django(最终是 python),是否有任何可用的 python 技巧?
  • @mellow-yellow 这可能适用于 Internet Explorer,但不适用于 Chrome 和 Safari(它们会去除路径信息)。不确定火狐。如果您不愿意进行真正搞砸的黑客攻击(您可能会显示一个 gtk 窗口),那么在同一台机器上运行的服务器框架对您没有多大帮助。如果您正在寻找最不让人头疼的跨浏览器解决方案,我建议使用 Flex 二进制文件创建一个简单的 swf,显示必要的浏览面板,并调用 javascript - actionscript 桥将数据传递给 jQuery。
  • @j_mcnally 是的,使用 Silverlight 可能更容易。我很少使用它,但我猜它有更好的 JavaScript 互操作性。
猜你喜欢
  • 1970-01-01
  • 2013-04-24
  • 2022-01-17
  • 2012-12-20
  • 2011-07-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多