this.userPhoto = userPhoto;
}
public String getUserPhotoContentType() {
return userPhotoContentType;
}
public void setUserPhotoContentType(String userPhotoContentType) {
this.userPhotoContentType = userPhotoContentType;
}
public String getUserPhotoFileName() {
return userPhotoFileName;
}
public void setUserPhotoFileName(String userPhotoFileName) {
this.userPhotoFileName = userPhotoFileName;
}
/**
* 用户上传图像
*/
public void uploadPhoto(){
try {
HttpServletResponse response = (HttpServletResponse) ActionContext.getContext().get(ServletActionContext.HTTP_RESPONSE);
response.setCharacterEncoding("UTF-8");
FileInputStream fis1 = new FileInputStream(getUserPhoto()); //保存文件
FileInputStream fis2 = new FileInputStream(getUserPhoto()); //判断文件
int i = this.checkImage(fis2);
if(i==1){
response.getWriter().print("1");
}
else if(i==2){
response.getWriter().print("2");
}
else if(i==3){
response.getWriter().print("3");
}
else { //文件正确、上传
//得到文件名
String photoName = getPhotoName(getUserPhotoFileName());
FileOutputStream fos = new FileOutputStream(getSavePath()+""+photoName);
byte[] buffer = new byte[1024];
int len = 0;
while ((len = fis1.read(buffer))>0) {
fos.write(buffer,0,len);
}
//处理文件路径,便于在前台显示
String imagPathString = dealPath(getSavePath()+""+photoName);
response.getWriter().print(imagPathString);
}
}
catch (IOException e) {
e.printStackTrace();
}
}
/**
* 重新命名头像名称:用户编号+头像后缀
*/
public String getPhotoName(String photoName){
//获取用户
HttpServletRequest request = (HttpServletRequest) ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST);
UserBean userBean = (UserBean) request.getSession().getAttribute("userBean");
//获取文件的后缀
String[] strings = photoName.split(".");
String hz = strings[1];
//构建文件名
String fileName = userBean.getUserId()+"."+hz;
return fileName;
}
/**
* 获取上传路径
*/
public String getSavePath(){
return ServletActionContext.getServletContext().getRealPath("upload/photos");
}
/**
* 判断上传的头像是否合法
* 规则:宽度和高度大于200、宽高比小于2、大小小于2M
* 宽度或者高度<200 返回1
* 宽高比>2 返回2
* 大小大于2M 返回 3
* 正确 返回 0
*/
public int checkImage(FileInputStream fis){










