struts2+mysql 二进制流显示问题

问题描述

我在进行图片上传和显示操作其中,struts2的相关action源码如下/* * To change this template, choose Tools | Templates * and open the template in the editor. */package bphone.action;import bphone.iservice.IGoodsService;import bphone.model.Goods;import com.opensymphony.xwork2.ActionContext;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;/** * * @author RZB */public class GoodsAction {    @Autowired    private IGoodsService goodsService;    private String phPinpai;    private String phXinghao;    private double phJiage;    private String phXitong;    private String phWeb;    private String phRam;    private String phRom;    private String phCpu;    private File phTupian;    private String phChicun;    private int phKucun;    public String GoodsInfo()    {        ActionContext ctx=ActionContext.getContext();        List<Goods> goodsinfo=goodsService.findAll();        ctx.put("goodsinfolist", goodsinfo);        return "goods_info";    }    public String GoodsDelete()    {        ActionContext ctx=ActionContext.getContext();        goodsService.deleteGoodsInfo(getPhXinghao());        return "goods_info";    }    public String GoodsAdd() throws FileNotFoundException, IOException     {        Goods goods=new Goods();        goods.setPhChicun(getPhChicun());        goods.setPhCpu(getPhCpu());        goods.setPhJiage(getPhJiage());        goods.setPhKucun(getPhKucun());        goods.setPhPinpai(getPhPinpai());        goods.setPhRam(getPhRam());        goods.setPhRom(phRom);        FileInputStream in=new FileInputStream(getPhTupian());        byte[] bt=new byte[in.read()];        goods.setPhTupian(bt);        goods.setPhWeb(getPhWeb());        goods.setPhXinghao(getPhXinghao());        goods.setPhXitong(getPhXitong());        goodsService.addGoodsInfo(goods);        return "goods_info";    } ……get和set方法省略,页面显示信息使用的<s:iterator>来显示list内容,但是显示不出来图片,如何才能显示图片呢,请大家指导一下

解决方案

你需要单独写一个action 然后返回图片的流信息(直接响应返回) 设置mime类型为图片的<img src="action地址?id=图片id">

时间: 2024-07-30 05:48:20

struts2+mysql 二进制流显示问题的相关文章

100高分 在线等 MySql导出二进制流数据 全是乱码 大家帮帮我吧 急啊!!!!!!!!!!!!!!!!!!!

问题描述 MySql导出数据其他的数据都能正常显示就是存为二进制流形式的图片不正常全是乱码恳请大家帮帮我解决一下我数据库存的格式都是utf8检查一下数据库,也都是utf8mysql>showvariableslike'character%';+--------------------------+----------------------------+|Variable_name|Value|+--------------------------+-----------------------

Image显示服务器上任意绝对路径下的图片(采用二进制流实现)_实用技巧

我要实现这样一个需求:数据库中存储的是照片所在的绝对路径(可以不在系统所在路径下),Image控件动态加载路径下的图片. 看到这个题目,有些人会说,这还不简单啊,将URL直接设置成绝对路径不就行了啊.我只能说,如果你这样说,那么只能说明你没有经过思考,甚至于,还没有搞清楚Web开发中前台代码和后台代码到底是什么意思,但是这种做法,在自己做的时候(未架到IIS),搜狗浏览器是可以显示图片的(仅此一款可以显示,所以这种做法没有意义). Image控件是在System.Web.UI.WebContro

如何将图片转换为二进制流发送出去在客户端里的RICHTEXTBOX显示?

问题描述 最近做了一个聊天软件希望把图片通过二进制流的形式发送给客户端实现客户端能看到我发送的图片如何显示,我做的聊天软件本身作为服务器也是客户端的:下面是我的代码privateThreadtd;privateTcpListenertcpListener;privatestaticstringmessage="";privatevoidrtbContent_TextChanged(objectsender,EventArgse){}privatevoidF_Chat_Load(obje

怎么样把从数据库里读出来的图片二进制流,放到image里显示?

问题描述 winform项目怎么样把从数据库里读出来的图片二进制流,放到image里显示? 解决方案 解决方案二:各位大虾救命啊解决方案三:System.Drawing.Imageimage=newSystem.Drawing.Bitmap(流,true);就可以阿.解决方案四:byte[]bts=this.getdbBytes();MemoryStreamms=newMemoryStream(bts);Imageimg=Image.FromStream(ms); 解决方案五:那怎么从数据库里读

MySQL二进制日志(binary log)总结

原文:MySQL二进制日志(binary log)总结   本文出处:http://www.cnblogs.com/wy123/p/7182356.html (保留出处并非什么原创作品权利,本人拙作还远远达不到,仅仅是为了链接到原文,因为后续对可能存在的一些错误进行修正或补充,无他)    提示max_binlog_cache_size空间不足,因为开启了二进制日志,之前是默认设置没有大批量的事务性操作,没有遇到该问题,这一次一开始就遇到一个较大的事务性操作就失败了.之后修改binlog_cac

用二进制流技术快速导出Excel文件每个单元只能支持255个字

问题描述 用二进制流技术快速导出Excel文件每个单元只能支持255个字 使用二进制流技术快速导出Excel文件http://blog.csdn.net/schhq/article/details/5761802 这种方法在百度上查出不少. 但是我测试发现一个单元格只能支持255个数字或字符,汉字就是127个.超过用office2007打开,那个单元就是显示为空白 这个方法是居于excel哪个版本的?感觉应该是97以前的吧?现在有改进版本的<使用二进制流技术快速导出Excel文件>? 解决方案

MySQL 二进制日志格式深入理解

MySQL二制进日志用于记录数据库的变更记录,这里从结构上讨论一下日志的格式. 每个日志都包含4个字节的magic number 和event的描述包 日志有前四个字节是magic number: oxfe ox62 0×69 0x6e = 0xfe 'b"i"n' 转成整数:1852400382  用处就是读4个字节对比不是这个数,说明就不是二进制日志,就不用处理了.  log_event.sh中可以查到  /* 4 bytes which all binlogs should be

JavaScript读二进制文件并用ajax传输二进制流的方法_javascript技巧

综合网上多个教程,加上自己实践得出的方法,目前能够兼容谷歌.IE11.IE10. htmlbody里的内容,没什么特殊的. <div id="dConfirm"> <p style="float: left;margin-left: 20px;margin-top: 20px"> <form action="javascript: uploadAndSubmit();" name="demoForm&quo

mysql二进制日志文件恢复数据库_Mysql

二进制日志的文件的作用     mysql二进制日志文件用来记录所有用户对数据库操作,即记录用户对数据库操作的sql语句.如果有此文件,当数据库发生意外时,可以通过此文件查看到用户在此文件记录的时间段内用户所做的操作,再和数据库备份配合使用,即可再现用户操作,使数据库恢复. 二进制日志文件的弊端 二进制日志文件开启后,所有对数据库操作的记录均会被记录到此文件, 所以,当长时间开启之后,日志文件会变得很大,占用磁盘空间. 使用二进制日志文件恢复数据库 开启日志文件 mysql默认是不开启日志文件的