gpt4 book ai didi

java - 如何使用 JSP 提供文件?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:44:23 25 4
gpt4 key购买 nike

这听起来可能很愚蠢,但却是现实生活中的一个例子:(

我能够显示带有“虚拟”链接名称的 HTML 表格。

像这样:

Xyz description   <a href="docId=123">document.doc</a>

Xyz description <a href="docId=456">documentB.doc</a>

Xyz description <a href="docId=798">documentC.doc</a>

这个文档 id 代表数据库中的一个 id(因为这些文档存储在一个 blob 中作为 byte[] )

无论如何。我能够获取该 ID、查询数据库并检索 byte[](甚至将其存储在 tmp 文件中)

我不知道该怎么做的是,当用户单击链接时(并且在我执行数据库检索之后)将 byte[]“提供”给用户。

现在最糟糕的是,让我在这里问这个问题的是,我只需要使用 JSP(没有 servlet)而不需要第 3 方库(只是......不要问我为什么讨厌它也是)

所以。我如何在 jsp 中提供存储在服务器文件系统中的字节数组的二进制内容

我的第一位客人是:

<%
InputStream read // read the file form the fle system
response.getOutputStream().write( theBytesReader );
%>

我接近解决方案了吗?

这对客户来说是否就像他真的在服务器上点击了一个真实的文件一样?

提前致谢。

最佳答案

至此,只需在 JSP 中编写与在 Servlet class 中相同的代码即可。 .您几乎可以复制粘贴它。仅确保您将任何模板文本写入流,这包括小脚本外的换行符和空格。否则它也会被写入二进制文件并损坏它。

如果您有多个 scriptlet block ,那么您需要对它们进行排列,以便在结尾 %> 之间没有换行符小脚本和开始 <%下一个脚本。因此,例如

<%@page import="java.io.InputStream" %><%
//...
%>

代替

<%@page import="java.io.InputStream" %>
<%
//...
%>

关于java - 如何使用 JSP 提供文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2114488/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com