springmvc读取数据库中图片的二进制流
来源:互联网 发布:calibre是什么软件 编辑:程序博客网 时间:2024/05/06 07:22
前台页面
<inputtype="file" name="file" class="projectfile"value="/rest/advertisement/getPhoto?id=$!{advertisementVo.id}"/>
或者这种方式 <imgsrc="/rest/advertisement/getPhoto?id=$!{advertisementVo.id}"alt="">
后台controller中的代码
/**
* 获取图片展示
*@author zhangchunlei
* 2017年11月10日
* @paramid
* @paramresponse
*@throws IOException
*/
@RequestMapping(value="/getPhoto",method=RequestMethod.GET)
public void getPhotoById(@RequestParam(required=true)Long id, final HttpServletResponse response){
try{
int width = 800;
int height = 300;
AdvertisementVo advertisementVo =advertisementService.findById(id);
if(!CheckUtil.isNull(advertisementVo)){
byte[] data = advertisementVo.getMessageImage();
if (width != 0 && height != 0){
BufferedImage buffered_oldImage =ImageIO.read(new ByteArrayInputStream(data));
int imageOldWidth =buffered_oldImage.getWidth();
int imageOldHeight =buffered_oldImage.getHeight();
double scale_x = (double) width /imageOldWidth;
double scale_y = (double) height /imageOldHeight;
double scale_xy = Math.min(scale_x,scale_y);
int imageNewWidth = (int)(imageOldWidth * scale_xy);
int imageNewHeight = (int)(imageOldHeight * scale_xy);
BufferedImage buffered_newImage =new BufferedImage(imageNewWidth, imageNewHeight,BufferedImage.TYPE_INT_RGB);
buffered_newImage.getGraphics().drawImage(buffered_oldImage.getScaledInstance(imageNewWidth,imageNewHeight, BufferedImage.SCALE_SMOOTH), 0, 0, null);
buffered_newImage.getGraphics().dispose();
ByteArrayOutputStream outPutStream= new ByteArrayOutputStream();
ImageIO.write(buffered_newImage,"jpeg", outPutStream);
data =outPutStream.toByteArray();
}
response.setContentType("image/jpeg");
response.setCharacterEncoding("UTF-8");
OutputStream outputSream =response.getOutputStream();
InputStream in = newByteArrayInputStream(data);
int len = 0;
byte[] buf = new byte[1024];
while ((len = in.read(buf, 0, 1024)) !=-1) {
outputSream.write(buf, 0,len);
}
outputSream.close();
}else{
logger.info("查询发布内容图片信息不存在,广告Id=" + id);
}
}catch(Exception e){
logger.error("查询发布内容图片信息异常id=" + id , e);
}
}
- springmvc读取数据库中图片的二进制流
- 图片二进制数据库的存取和读取...
- C#从数据库中读取二进制数据,并显示图片
- 从数据库中读取二进制字符并转化为图片
- 读取并显示以二进制的格式存储到数据库中图片
- 二进制流读取图片
- 读取远程图片的二进制流
- 图片以二进制的形式存储到数据库并读取
- SpringMVC 上传文件或图片并以二进制流的方式存到数据库
- 从数据库中取出图片二进制流
- .NET中二进制图片的存储与读取
- .NET中二进制图片的存储与读取
- .NET中二进制图片的存储与读取
- ASP.NET中二进制图片的存储与读取
- asp.net 读取数据库二进制图片
- windows phone 开发中sql数据库 wcf服务与windows phone 8 之间图片二进制流存储与读取的问题
- js,二进制转换保存到数据库及读取二进制图片
- asp.net 从数据库中读取而二进制数据图片,展示在Image中
- CSDN的博客搜索功能太弱,教你怎么搜索自己博客的文章
- Linux基础篇之文本、数据流处理命令(sed uniq grep awk wc)
- checkebox attr 和prop 使用方案
- Git学习总结(19)——Git代码回滚总结
- 自定义滚动条控制大的div滚动
- springmvc读取数据库中图片的二进制流
- kali安装网易云1.1和打不开问题解决
- 整数划分(一)
- MySQLNonTransientConnectionException: No operations allowed after statement closed
- Android Databinding 拼接字符串
- 制度的精髓不在于强制,而在于对被执行者利益的拉动
- GAN Generating Cat Images
- MFC中打开任意图像并在picture control控件中显示Mat对象
- NIO之Buffer