本地主机web应用。如何在浏览器中获取文件的完整路径
我的问题可能听起来有点奇怪,如果你有更好的建议,我很乐意听听:
我在本地用Python的Bottle框架搭建了一个网页服务器。我使用jQuery、HTML和CSS来写我“应用”的图形界面,然后在浏览器(火狐)中直接访问本地服务器的地址。这样做是因为我想要HTML和CSS在设计用户界面方面的灵活性,而不是像QT和PyQt这样的工具提供的功能。
问题来了: 我应用的一个重要部分是获取磁盘上某个文件的完整路径,以便程序可以对其进行操作。为了不让用户每次都输入完整路径,我希望能有一个文件选择对话框来帮他们填上。不过,我了解到出于安全原因,浏览器不允许获取完整路径。
我明白在正常的服务器-客户端设置中,文件的完整路径是没什么用的,但在我的情况下,服务器和客户端是同一个,我并不太担心这个安全问题。
我这样处理问题是不是有点傻?有没有办法让文件浏览器返回它所选择的文件的完整路径?还是说我需要完全换个思路?
谢谢!
墨菲
1 个回答
2
一种方法是和你的服务器进行沟通;你的客户端可以从“home”这个路径开始(或者直接用空字符串),然后服务器会返回实际的路径(比如“c:\users\me”或者“/home/me”),同时还会给你这个文件夹里所有子文件夹和文件的列表……接着,如果你给服务器其他的路径,它也会返回关于那个路径的信息。比较棘手的部分是,当系统中出现新的挂载点或驱动器(比如USB闪存)时,如何及时得到通知。
然后,你可以利用服务器提供的信息在客户端制作一个文件选择器。其实,使用合适的JavaScript库来编写这个功能并不难,很多项目都在这么做。问题在于(除了额外的工作量)你的文件选择器可能会和用户习惯的系统文件选择器看起来不太一样,显得有些不协调。