webwork保存图片到数据库
来源:百度文库 编辑:神马文学网 时间:2024/04/28 20:04:40
开发中遇到这么一个要求,用户USER这个PO里需要保存用户的照片。一般情况下有两种处理方法:
一是直接保存图片到数据库;二是保存图片到服务器端,PO字段保存一个联接。考虑到用户照片
一般较小,采用第一种方法。
public class User extends Principal {
private byte[] photo; //考虑与各种数据库兼容问题
public byte[] getPhoto() {
return photo;
}
public void setPhoto(byte[] photo) {
this.photo = photo;
}
..............
}
页面里面,直接用webwork的FileUploadInterceptor拦截
<@ww.form enctype="multipart/form-data" action="doUpdateUser" method="post">
<@ww.file label="%{getText(‘user.photo‘)}" name="photo" />
@ww.form>
xwork.xml里的配置
image/x-png,image/gif,image/pjpeg
/organization/user.ftl
/organization/user.ftl
引用默认的拦截器栈,栈里已经包含FileUploadInterceptor拦截,这里配置FileUploadInterceptor拦截的参数,设定上传的文件为图片
格式
Action类
public class OrganizationAction extends BaseOrganizationAction{
private File photo; //与页面里的上传文件字段名对应
private OutputStream outPhoto
/**
* 更新用户信息
*
* @return
* @throws Exception
*/
public String updateUser() throws Exception {
//以下为保存图片,视情况修改
if (null != photo) {
FileInputStream file = new FileInputStream(photo);
int length = file.available();
byte[] buffer = new byte[length];
file.read(buffer);
file.close();
user.setPhoto(buffer); //将上传的图片转换为字节数组存储到PO中
}
organizationService.updateUser(user);
return SUCCESS;
}
public String getUserPhoto() throws Exception {
user = organizationService.getUserById(userId);
if (user.getPhoto() != null) {
outPhoto = this.getResponse().getOutputStream(); //将PO中字节数组转换为输出流
outPhoto.write(user.getPhoto());
outPhoto.flush();
outPhoto.close();
}
return SUCCESS;
}
}
这样就OK了,考虑一个问题,就是action 必须要指定一个result ,实际这里的图片显示仅仅是要一个输出流
而我的配置里面是
/organization/user.ftl
不知道这会不会有什么影响。或者这样?
/organization/blank.ftl
一是直接保存图片到数据库;二是保存图片到服务器端,PO字段保存一个联接。考虑到用户照片
一般较小,采用第一种方法。
public class User extends Principal {
private byte[] photo; //考虑与各种数据库兼容问题
public byte[] getPhoto() {
return photo;
}
public void setPhoto(byte[] photo) {
this.photo = photo;
}
..............
}
页面里面,直接用webwork的FileUploadInterceptor拦截
<@ww.form enctype="multipart/form-data" action="doUpdateUser" method="post">
<@ww.file label="%{getText(‘user.photo‘)}" name="photo" />
@ww.form>
xwork.xml里的配置
image/x-png,image/gif,image/pjpeg
引用默认的拦截器栈,栈里已经包含FileUploadInterceptor拦截,这里配置FileUploadInterceptor拦截的参数,设定上传的文件为图片
格式
Action类
public class OrganizationAction extends BaseOrganizationAction{
private File photo; //与页面里的上传文件字段名对应
private OutputStream outPhoto
/**
* 更新用户信息
*
* @return
* @throws Exception
*/
public String updateUser() throws Exception {
//以下为保存图片,视情况修改
if (null != photo) {
FileInputStream file = new FileInputStream(photo);
int length = file.available();
byte[] buffer = new byte[length];
file.read(buffer);
file.close();
user.setPhoto(buffer); //将上传的图片转换为字节数组存储到PO中
}
organizationService.updateUser(user);
return SUCCESS;
}
public String getUserPhoto() throws Exception {
user = organizationService.getUserById(userId);
if (user.getPhoto() != null) {
outPhoto = this.getResponse().getOutputStream(); //将PO中字节数组转换为输出流
outPhoto.write(user.getPhoto());
outPhoto.flush();
outPhoto.close();
}
return SUCCESS;
}
}
这样就OK了,考虑一个问题,就是action 必须要指定一个result ,实际这里的图片显示仅仅是要一个输出流
而我的配置里面是
不知道这会不会有什么影响。或者这样?
webwork保存图片到数据库
保存图片到数据库还是文件系统?
如何利用ASP把图片上传到数据库
将图片或文件内容保存到SQL的Text字段的另一种方法
厉害呀!这些历史图片都能保存到现在真不容易呀!
怎么把用QQ截图保存的图片上传到QQ相册里
保存网页图片
怎么保存图片
保存图片四法
保存图片四法
数据库设计的一些构想(从需求到数据库设计)
数据库设计的一些构想(从需求到数据库设计)
,电脑唯美图片保存下来...
如何将sql数据库备份到本地
MVC WebWork Portlet Framework
Struts vs webwork 中文
WebWork初体验
webwork+spring+hibernate
WebWork vs Struts比较
动态棋盘,如何保存到电脑上
从北京奥运到上海世博:改变西方对中国陈腐印象 [图片] 非台 保存于 2010年05月10日 21:59
数据库
数据库
数据库