Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 本地主机web应用程序。在浏览器中获取文件的完整路径_Python_File_Select_Browser_Path - Fatal编程技术网

Python 本地主机web应用程序。在浏览器中获取文件的完整路径

Python 本地主机web应用程序。在浏览器中获取文件的完整路径,python,file,select,browser,path,Python,File,Select,Browser,Path,我的问题可能看起来很奇怪,如果你有更好的方法来处理我正在做的事情,我希望你能给我一些建议: 我正在运行一个本地web服务器,该服务器使用用于python的瓶子web框架。我正在使用jQuery、HTML和CSS将图形前端写入我的“应用程序”,并在浏览器(firefox)中导航到本地主机的地址。 我这样做是因为我想要html和css在设计UI时所提供的灵活性,而不是像QT和PyQt这样的工具所提供的功能 问题是: 我的应用程序的一个重要部分是获取程序将运行的磁盘上文件的完整路径。为了不让用户在整个

我的问题可能看起来很奇怪,如果你有更好的方法来处理我正在做的事情,我希望你能给我一些建议:

我正在运行一个本地web服务器,该服务器使用用于python的瓶子web框架。我正在使用jQuery、HTML和CSS将图形前端写入我的“应用程序”,并在浏览器(firefox)中导航到本地主机的地址。 我这样做是因为我想要html和css在设计UI时所提供的灵活性,而不是像QT和PyQt这样的工具所提供的功能

问题是: 我的应用程序的一个重要部分是获取程序将运行的磁盘上文件的完整路径。为了不让用户在整个过程中键入完整路径,我希望为他们填写一个文件选择对话框。然而,我一直在读到,出于安全原因,浏览器将不允许完整路径通过

我知道,在正常的服务器客户端设置中,文件的完整路径永远不会有用,但在这种情况下,服务器和客户端是同一个,我不关心安全性的这一方面

我是不是用一种愚蠢的方式来处理这个问题?是否有方法要求文件浏览器返回所选文件的完整路径?还是我需要完全找到另一条路

谢谢!
Murphy

一种方法是与服务器通信;您的客户端将以路径“home”(或空字符串)开始,服务器将返回物理路径(“c:\users\me”或“/home/me”),以及文件夹中的子文件夹和文件列表。。。然后,如果您为服务器提供任何其他路径,它将返回有关该其他路径的信息。棘手的部分是在系统中出现新的挂载或驱动器(usb密钥等)时得到通知


然后,您可以使用完全特权服务器提供给您的信息在客户机中创建一个文件选择器。事实上,有了适当的JS库,编写代码就不会那么难了,而且这是由各种项目完成的,问题(除了额外的工作)在于,与用户习惯的系统文件选择器相比,您的文件选择器看起来不合适。

谢谢,Emmanuel!我现在已经学会了怎么做,但如果其他人有类似的问题,这是很好的参考。你能解释一下你是怎么做的,并把它作为一个答案添加进去吗?@blackirishman我现在重读了它,不知道要添加什么。差不多了。@splodingsocks,你做了什么?我发现browserpy——这是一个很好的例子,已经很久了,我不记得当时我采取了什么方法。但我肯定地说,Emmanuel的方法是正确的,本地服务器应该是与文件交互并将信息提供给浏览器UI的服务器。