gpt4 book ai didi

java - 使用 Struts 2 在 MySQL 的 JSP 页面中查看图像

转载 作者:行者123 更新时间:2023-11-29 02:58:37 24 4
gpt4 key购买 nike

我有一个按钮可以拾取图像并将其放入 MySQL 数据库中。在此之后,我希望图像将显示在同一页面中。我是 Struts2 的新手,我现在不知道如何继续。

这是我的类Registrazione.java:

public String visualizzaimg() throws SQLException, IOException {
Connessione(); // DB connection method
PreparedStatement pstmt = con.prepareStatement("SELECT Immagine FROM Utenti WHERE Username = ?");
pstmt.setString(1,username);
ResultSet rs = pstmt.executeQuery();
while(rs.next()){
fin = rs.getBinaryStream("Immagine");
byte[] b = new byte[fin.available()];
fin.read(b);
}
return "success";
}

这是我的struts.xml 文件:

<action name="visualizzaimg" class="Model.Registrazione" method="visualizzaimg">
<result name="success" type="stream">
<param name="contentType">image/jpeg</param>
<param name="inputName">fin</param>
<param name="contentDisposition">attachment;filename=${fileName}</param> /* Not sure if i've understood what i have to put here.. */
<param name="bufferSize">1024</param>
</result>
</action>

这是我的 LoginRiuscito.jsp 页面:

<s:form action="carica" id="carica" style="display:none" enctype="multipart/form-data">
<s:textfield id="username" name="username" type="hidden"></s:textfield>
<s:file id="carica" name="caricaimg" accept="image/*"></s:file>
<s:submit value="Carica" ></s:submit>
</s:form>
<s:form action="visualizzaimg" enctype="multipart/form-data">
<s:textfield id="username" name="username" type="hidden"></s:textfield>
<img src=""> //i don't know what i have to put in src..
<s:submit value="Visualizza"></s:submit>
</s:form>

最佳答案

重点是将url写入<img>标签。该 url 应该映射一个将流数据流式传输到响应的操作。

<img src="<s:url action='visualizzaimg'/>">  

该操作需要返回一个 stream结果,为此它应该为 InputStream 提供一个 getter .输入流的默认输入名称是 inputStream , 所以我们将使用它。

private InputStream inputStream;

public ImputStream getInputStream(){
return inputStream;
}

public String visualizzaimg() throws SQLException, IOException {
Connessione(); // DB connection method
PreparedStatement pstmt = con.prepareStatement("SELECT Immagine FROM Utenti WHERE Username = ?");
pstmt.setString(1,username);
ResultSet rs = pstmt.executeQuery();
if(rs.next()){
inputStream = rs.getBinaryStream(1);
}
return "success";
}

现在配置结果

<result name="success" type="stream">
<param name="contentType">image/jpeg</param>
</result>

关于java - 使用 Struts 2 在 MySQL 的 JSP 页面中查看图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27342455/

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