设为首页 加入收藏

TOP

struts2文件上传(保存为BLOB格式)
2014-11-23 22:59:23 来源: 作者: 【 】 浏览:7
Tags:struts2 文件 上传 保存 BLOB 格式

struts2文件上传(保存为BLOB格式)


html文件:提供上传文件的入口

xml文件:



success_commit.jsp
error.jsp

action文件:


public class FileUploadAction {
private String remark;// 备注
private int id;// id
private File upload;// 与html文件中input[type=file]必须一样
private String uploadFileName;// 文件名,必须这样写,upload和html文件中input[type=file]必须,FileName

ResultService rService = new ResultService();


public String execute() {
try {
// 点击上传之后
// 保存上传数据
int row = 0;
// 检查是否上传了文件
if (uploadFileName != null && !uploadFileName.equals("")) {
//考虑到需要保存文件进行的操作比较多,上传了文件另外保存
row = rService.save(upload, uploadFileName, demandid,
remark);


} else {
// 没有上传文件
row = rService.save(demandid, remark);
}


if (row == 1) {// 修改的行数
// 上传成功
return "success";
} else {
//上传失败
return "error";
}
} catch (Exception e) {
return "error";
}
}

// 以下是getter/setter方法(略去)
}
service层


public int save(File file, String filename, int id, String remark) {
// 有文件保存方法
String lj = copyfile(file, filename);
Result res = new Result();
res.setFile(new File(lj));
res.setDemandid(id);
res.setRemark(remark);
res.setTitle(filename);
return rDao.saveResult(res);
}
//没有文件的保存方法
public int save(int id,String remark){
Result res = new Result();
res.setDemandid(id);
res.setRemark(remark);
return rDao.saveResultNoFile(res);
}

public String copyfile(File file, String filename) {
// 把文件拷贝到服务器的指定目录下
String realpath = ServletActionContext.getServletContext().getRealPath(
"/info");
String lj = realpath + "\\" + filename;
try {
if (file != null) {
File savefile = new File(new File(realpath), filename);
if (!savefile.getParentFile().exists()) {
savefile.getParentFile().mkdirs();
}
// 调用copyFile方法
FileUtils.copyFile(file, savefile);
}
} catch (Exception e) {
e.printStackTrace();
}
return lj;
}


row = ps.executeUpdate();
fis.close();


} catch (Exception e) {
e.printStackTrace();
} finally {
DBUtil.close(conn, ps, null);
}
// 返回修改的行数
return row;
}


OK.本人亲测


时间关系,没有来得及注释的,下次补上。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Python 多线程两种实现方式 下一篇struts2文件下载(文件保存以BLOB..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: