package org.beanfuse.webapp.avatar.action;
import java.io.File;
import java.util.Date;
import org.apache.commons.lang.StringUtils;
import org.beanfuse.security.User;
import org.beanfuse.struts2.route.Action;
import org.beanfuse.webapp.avatar.service.AvatarBase;
import org.beanfuse.webapp.security.action.SecurityAction;
/**
* 上传照片
*
* @author chaostone
*
*/
public class MyUploadAction extends SecurityAction {
protected AvatarBase avatarBase;
public String uploadForm() {
User user = getUser();
File file = avatarBase.getAvatar(user.getName());
if (null != file) {
double length = (double) (file.length() / 1024);
put("length", new Double(length));
put("lastModified", new Date(file.lastModified()));
}
put("user", user);
return forward();
}
public String upload() throws Exception {
File[] files = (File[]) getParams().get("avatar");
if (files.length > 0) {
String type = StringUtils.substringAfter(get("avatarFileName"), ".");
boolean passed = avatarBase.containType(type);
if (passed) {
avatarBase.updateAvatar(getLoginName(), files[0], type);
} else {
return forward("upload");
}
}
return redirect(new Action(MyAction.class, "info"), "info.upload.success");
}
public void setAvatarBase(AvatarBase avatarBase) {
this.avatarBase = avatarBase;
}
}