如何通过在webApp中显示和创建存储在计算机中的本地文件的链接来查看Web浏览器中的本地文件?

时间:2016-02-15 07:14:46

标签: javascript html jsp

我使用JSP,Html和Javascript创建了一个webapp,目前使用apache webserver在我的localhost上运行。我想在本地计算机中显示文件和文件夹以及目录。我还想创建一个下载链接或查看这些链接,这样当任何人点击它时,它将在新标签中查看或者可以在任何ftp服务器中进行下载。我知道类似的问题了 被问到,但他们都没有为我工作。 要创建我使用的下载链接

<a href="D:/mylocaldrive/a.png" download="a.png">Download</a>

这不起作用,因为它不在我的webapp路径中,而且下载属性在Internet Explorer中也不起作用。

2 个答案:

答案 0 :(得分:2)

我不确定您为什么要在网上公开您的本地驱动器内容,但这里有一个选项:

  1. 在应显示文件的页面上,在java代码中列出所有文件 文件夹和文件然后为每个文件/文件夹显示一些页面的链接 (例如“navigateLocalDrive”发送被点击的路径 像这样的文件/文件夹:
  2. <a href="/navigateLocalDrive.jsp?file=D%3A%2Fmylocaldrive%2Fa.png">Download</a>

    1. 现在在jsp中,检查GET变量是否是文件或目录的路径, 如果是一个文件,只需将其发送回响应中,如果是a 目录,列出所有文件/文件夹,并执行与步骤1
    2. 相同的操作

      请注意:

      • 我如何编码href中的文件路径以便正常工作。
      • Web服务器的访问权限应允许对该路径进行写入/读取(我已在本地主机上的Tomcat服务器上执行此操作,默认设置无需更改)

      供您参考,以下是此任务的一些帮助:

答案 1 :(得分:0)

我不确定这是否可行。一般来说,访问权限仅限于src和webContent文件夹(对于上面提到的html编码肯定)。这也是合理的,因为您通常不希望访问或更改计算机上的数据,因为在本地开发之后,您希望将Web应用程序部署到服务器。

要将测试文件复制到webContent,您可以下载它。在Java编码中,您可以使用某些IO包(如java.io.File)来浏览文件夹和文件。但请记住,您将获得一些例外情况,例如

java.io.FileNotFoundException: C:\WeatherExports\export.txt (Access is denied)

如果您想访问服务器外的文件。