在struts2中,FileInputStream怎么转化为BLOB 20
我用的是iBatis,不是Hibernate,所以没有Hibernate.createBlob()方法。求指教...
我用的是iBatis,不是Hibernate,所以没有Hibernate.createBlob()方法。求指教
展开
展开全部
ibatis中的文件字段处理问题解决如下【以图片文件为例】:
对象中属性的定义:
private oracle.sql.BLOBuser_photo;
提取出的配御数据存储:
public class ImageHandler {
private byte[] image;
publicbyte[] getImage() {
returnimage;
}
publicvoid setImage(byte[] image) {
this.image= image;
}
}
Ibatis.xml文件中的配置:
<resultMap id="ZgxxByIdMap"class="Image">
<resultproperty="image" column="USER_PHOTO" jdbcType="BLOB" javaType="[B"/>
</resultMap>
图片提取存储过程:
StringfileName = ServletActionContext.getServletContext()
.getRealPath(
"userPhoto"+ "/" + ZgxxVoTc.getUserid() + ".jpg");
Filefile = new File(fileName);
ImageHandlerimageHandler = zgxxService.getZgxxById((String) map
.get("仿银USER_ID"));
if(file.exists()) {
file.delete();
}
BufferedOutputStreambos = new BufferedOutputStream(
newFileOutputStream(file));
bos.write(imageHandler.getImage());
bos.flush();
bos.close();
在页面中显示:
<img src="${pageContext.request.contextPath}/userPhoto/<s:propertyvalue="zgxxVo.userid"/>.jpg" width="150px"height="200px"备卖宴 alt="Picture inside aparragraph" />
对象中属性的定义:
private oracle.sql.BLOBuser_photo;
提取出的配御数据存储:
public class ImageHandler {
private byte[] image;
publicbyte[] getImage() {
returnimage;
}
publicvoid setImage(byte[] image) {
this.image= image;
}
}
Ibatis.xml文件中的配置:
<resultMap id="ZgxxByIdMap"class="Image">
<resultproperty="image" column="USER_PHOTO" jdbcType="BLOB" javaType="[B"/>
</resultMap>
图片提取存储过程:
StringfileName = ServletActionContext.getServletContext()
.getRealPath(
"userPhoto"+ "/" + ZgxxVoTc.getUserid() + ".jpg");
Filefile = new File(fileName);
ImageHandlerimageHandler = zgxxService.getZgxxById((String) map
.get("仿银USER_ID"));
if(file.exists()) {
file.delete();
}
BufferedOutputStreambos = new BufferedOutputStream(
newFileOutputStream(file));
bos.write(imageHandler.getImage());
bos.flush();
bos.close();
在页面中显示:
<img src="${pageContext.request.contextPath}/userPhoto/<s:propertyvalue="zgxxVo.userid"/>.jpg" width="150px"height="200px"备卖宴 alt="Picture inside aparragraph" />
更多追问追答
追问
说好不用Hibernate.createBlob()的,我用的数据持久层是iBatis
追答
iBatis处理文件内容字段的时候是用的二进制流来进行中转的,并非hibernate那样用的blob对象
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询