【问题标题】:How to get local file in HTML when using JSP and Java使用 JSP 和 Java 时如何获取 HTML 中的本地文件
【发布时间】:2017-05-06 15:30:37
【问题描述】:

我正在使用 Tomcat 运行 Java Web 应用程序,并且我有我的 Java 类和 .jsp 文件来呈现 Web。我正在尝试实现一项功能,您可以在文件中搜索关键字,然后返回文件,以便用户可以从网页下载它们。

我想将文件存储在本地目录中,因为服务器最终将在本地 Linux 机器上运行。但是,我无法获取文件的路径以在 HTML 端工作。在 Java 中我可以轻松做到:

final File file = new File("/home/user/resources");

它将在那里找到文件。但是,在 HTML 中,我一直在尝试各种 URL,包括:

a href="/home/user/resource" download>"Name"</a>

但是它找不到该文件,我认为这是因为它正在 Web 应用程序中查找。

所以,我的问题是。如何让 HTML 端在与 Java 相同的位置找到相同的文件?如果不将文件存储在 Web 应用程序中是不可能的,有没有办法从 Java 端提供文件并使其可用于 HTML?

此外,我要存储的文件很可能是 Word 文件、.doc 和 .docx。

提前感谢您的帮助。

如果您需要更多信息,请告诉我。

编辑:更新了 .jsp 文件和 标记内的下载链接。

<a href="file:///home/simon/resources/clientInfo/" + entry.getValue() + "\" download>" + entry.getValue() + "</a>

Chrome 抱怨网络错误。

【问题讨论】:

    标签: java html jsp tomcat servlets


    【解决方案1】:

    您可以使用file scheme 完成此操作。如果没有文件方案,浏览器会假定您的文件是相对于网页的,并尝试通过向您的 webapp 发出请求来解析文件。文件或链接需要在您的 jsp 的 之前添加 file:///变量,以便浏览器知道它需要在用户机器上打开一个本地文件。

    示例链接

    <a href="file:///<%=path%>">click here</a>
    

    【讨论】:

    • 感谢您的帮助。我刚试过把它放进去,但它似乎不起作用。我确定我只是在做一些语法错误。我已将下载链接添加到问题中。
    猜你喜欢
    • 2018-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-13
    • 2023-04-10
    • 1970-01-01
    • 2018-08-20
    • 2020-10-10
    相关资源
    最近更新 更多