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

Javascript 如何通过在webApp中显示和创建指向存储在计算机中的本地文件的链接,在web浏览器中查看本地文件?,javascript,html,jsp,Javascript,Html,Jsp,我已经使用JSP、Html和Javascript创建了一个webapp,它目前使用ApacheWebServer在本地主机上运行。我想显示本地计算机中的文件、文件夹和目录。我还想创建一个下载链接或查看这些链接,这样当任何人点击它时,它将在新选项卡中查看,或者在任何ftp服务器中都可以下载。我知道有类似的问题 有人问过我,但他们都没有为我工作。 创建我使用的下载链接 <a href="D:/mylocaldrive/a.png" download="a.png">Download<

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

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


这不起作用,因为它不在我的webapp路径中,并且“下载”属性在internet explorer中也不起作用。

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

要进行测试,请将一些文件复制到webContent,您可以下载它。在Java编码中,您可以使用一些IO包(如Java.IO.File)来浏览文件夹和文件。但是请记住,您会遇到一些异常,如

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

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

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

要进行测试,请将一些文件复制到webContent,您可以下载它。在Java编码中,您可以使用一些IO包(如Java.IO.File)来浏览文件夹和文件。但是请记住,您会遇到一些异常,如

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

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

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

  • 在应该显示文件的页面上,以java代码列出所有 文件夹和文件,然后为每个文件/文件夹显示指向某个页面的链接 (例如,“navigateLocalDrive”,它发送所单击对象的路径。) 像这样的文件/文件夹:
  • 现在在该jsp中,检查GET变量是否是文件或目录的路径, 如果它是一个文件,只要在响应中发回它,如果它是一个 目录中,列出所有文件/文件夹,并执行与步骤1相同的操作
  • 请注意:

    • 我如何在href中对文件路径进行编码以使其正常工作
    • Web服务器的访问权限应允许对该路径进行写/读操作(我已经在本地主机上的Tomcat服务器上进行了此操作,默认设置无需更改)
    以下是此任务的一些帮助人员,供您参考:


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

  • 在应该显示文件的页面上,以java代码列出所有 文件夹和文件,然后为每个文件/文件夹显示指向某个页面的链接 (例如,“navigateLocalDrive”,它发送所单击对象的路径。) 像这样的文件/文件夹:
  • 现在在该jsp中,检查GET变量是否是文件或目录的路径, 如果它是一个文件,只要在响应中发回它,如果它是一个 目录中,列出所有文件/文件夹,并执行与步骤1相同的操作
  • 请注意:

    • 我如何在href中对文件路径进行编码以使其正常工作
    • Web服务器的访问权限应允许对该路径进行写/读操作(我已经在本地主机上的Tomcat服务器上进行了此操作,默认设置无需更改)
    以下是此任务的一些帮助人员,供您参考:


    如何发送文件作为响应。它显示/WebApplication2/D:/Untitled.png不存在,因为我已经发送了requestDispatcher.requestDispatcher rd=request.getRequestDispatcher(frequest.getParameter(“文件”);rd.forward(request,response);首先,您使用的路径是错误的“/WebApplication2/”零件不应该在那里,请检查如何设置“文件”获取url中的参数。至于代码,请使用我回答中第二个链接中的代码将文件发送回浏览器。我如何发送文件作为响应。它显示/WebApplication2/D:/Untitled.png不存在,因为我已经发送了requestDispatcher.requestDispatcher rd=request.getRequestDispatcher(frequest.getParameter(“文件”));rd.forward(request,response);首先,您使用的路径错误,“/WebApplication2/”部分不应该存在,请检查如何在GET url中设置“file”参数。至于代码,请使用我回答中第二个链接中的代码将文件发送回浏览器