1、sqlServer中photo表字段(int id,image image,varchar contentType)
2、html页面如下:
<form action="uploadPhotoAction.action" method="post" enctype="multipart/form-data" >
<input type="hidden" name="userId" value="1"/>
上传文件:<input type="file" name="upload" /><br>
<input type="submit" value="提交">
</form>
3、uploadPhotoAction如下:
public class UploadPhotoAction {
@Autowired(required = true) @Qualifier("productManager")
private ProductManager productManager;
private File upload;
private String uploadContentType;
private String uploadFileName;
private Integer userId;
public File getUpload() {
return upload;
}
public void setUpload(File upload) {
this.upload = upload;
}
public String getUploadContentType() {
return uploadContentType;
}
public void setUploadContentType(String uploadContentType) {
this.uploadContentType = uploadContentType;
}
public String getUploadFileName() {
return uploadFileName;
}
public void setUploadFileName(String uploadFileName) {
this.uploadFileName = uploadFileName;
}
public Integer getUserId() {
return userId;
}
public void setUserId(Integer userId) {
this.userId = userId;
}
@Action(value="uploadPhotoAction",results={
@Result(name="success", location="/success.jsp", type="redirect"),
@Result(name="error", location="/error.jsp", type="redirect")
})
public String execute(){
if( this.getUserId() != 1){
return ActionSupport.LOGIN;
}
productManager.uploadPhoto(upload, uploadContentType);
return ActionSupport.SUCCESS;
}
}
3、service部分
Integer photoId;
try {
FileInputStream in = new FileInputStream(photo);
byte[] b = new byte[in.available()];
in.read(b);
in.close();
Photo image = new Photo();
image.setContentType(uploadContentType);
image.setImage(Hibernate.createBlob(b));
Session session = sessionFactory.getCurrentSession();
session.save(image);
} catch (FileNotFoundException e) {
e.printStackTrace();
return "error";
} catch (IOException e) {
e.printStackTrace();
return "error";
}
catch (RuntimeException re) {
re.printStackTrace();
throw re;
}
return "success";
}