【发布时间】:2017-03-16 09:59:16
【问题描述】:
我以字节格式将图像存储在 mysql 数据库表中。当我从数据库中检索该图像时,我得到了这样的结果。
所以dispatcher-servlet.xml如下
<beans:bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- setting maximum upload size -->
<beans:property name="maxUploadSize" value="100000" />
</beans:bean>
pom.xml
<!-- Apache Commons FileUpload -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.1</version>
</dependency>
<!-- Apache Commons IO -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>
driversList.jsp
<div style="color: teal; font-size: 20px">List Of Drivers</div>
<c:if test="${!empty listDrivers}">
<table border="1" bgcolor="black" width="600px">
<tr
style="background-color: teal; color: white; text-align: center;"
height="40px">
<th width="60">Name</th>
<th width="80">License Number</th>
<!-- <th width="80">Password</th> -->
<th width="80">Phone</th>
<th width="80">Password</th>
<th width="80">Address</th>
<th width="80">Photo</th>
</tr>
<c:forEach items="${listDrivers}" var="driver">
<tr
style="background-color: white; color: black; text-align: center;"
height="30px">
<td>${driver.name}</td>
<td>${driver.license}</td>
<td>${driver.number}</td>
<td>${driver.password}</td>
<td>${driver.address}</td>
<td><img src="/momcab1/myImage/imageDisplay?id=${driver.id}"/></td>
</tr>
</c:forEach>
</table>
</c:if>
<!-- Content data end -->
<br> <br> <br> <br> <br> <br> <br>
<br> <br> <br>
</div>
DriverController.java
@RequestMapping(value = "/DriversList", method = RequestMethod.GET)
public String listUsers(Model model,HttpServletRequest req,HttpServletResponse res) {
HttpSession session =req.getSession();
if(session.getAttribute("emailId")==null)
{
return "redirect:/login";
}
System.out.println("MY NAME IS GO PINK");
model.addAttribute("listDrivers", this.driverService.listDrivers());
return "driversList";
}
ImageController.java
@Controller
@RequestMapping("/myImage")
public class ImageController {
@Value("${login_session_token_timeout_mnts}")
private String loginSessionTokenTimeoutMnts;
private DriverService driverService;
@Autowired(required = true)
@Qualifier(value = "driverService")
public void setDriverService(DriverService ds) {
this.driverService = ds;
}
@RequestMapping(value = "/imageDisplay", method = RequestMethod.GET)
public void showImage(@RequestParam("id") Integer id, HttpServletResponse response,HttpServletRequest request)
throws ServletException, IOException{
Driver item = driverService.getDriverById(id);
response.setContentType("image/jpeg, image/jpg, image/png, image/gif");
response.getOutputStream().write(item.getBlobImg());
response.getOutputStream().close();
}
}
驱动程序.java
@Column(name = "photo")
private byte[] blobImg;
所以在这里,当一个人点击“驱动程序列表”时,请求映射会转到DriverController.java 的"/DriversList" 但在我的driversList.jsp 中,有一个图像要从mysql 数据库表中显示。但是当页面加载时,它甚至不会进入"<img src>" 中给出的控制器请求映射
它显示一个“十字标记”,如下所示。对此的任何帮助将不胜感激。
谢谢你
我尝试了enter link description here中给出的代码
【问题讨论】:
标签: java mysql spring hibernate multipartform-data