Struts2 文件上传问题
为什么无论怎么上传都是.tmp的文件,在控制台答应file.getName()也是.tmp。搞不懂怎么回事啊...
为什么无论怎么上传都是.tmp的文件,在控制台答应file.getName()也是.tmp。搞不懂怎么回事啊
展开
2个回答
展开全部
FormFile的getName方法得到的是上传文件时产生的临时操作文件,.tmp结尾的文件一般都是一些打开记录、操作记录(包括增删改查)。好比你打开一个影音文件,就会保存一个tmp的打开记录。
而getFileName这个方法才是获得你上传的文件的文件名的方法。你写错了朋友!
public ActionForward register(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
ActionForward af = null;
UserService userService = new UserServiceImpl();
DynaActionForm userForm = (DynaActionForm)form;
UserBean user = (UserBean)userForm.get("user");
request.setAttribute("user", user);
FormFile userHeadImg = (FormFile)userForm.get("formFile");
String root = getServlet().getServletContext().getRealPath("/");
if(userHeadImg != null && userHeadImg.getFileSize() != 0){
FileOutputStream out = new FileOutputStream(root+"/userHeadImg/"+userHeadImg.getFileName());
out.write(userHeadImg.getFileData());
out.flush();
out.close();
//文件上传成功以后,给用户头像属性赋值
user.setHeadImage("userHeadImg/"+userHeadImg.getFileName());
}
//设置注册时间
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
user.setRegisterDate(df.format(new Date()));
//调用业务逻辑方法
if(userService.userRegister(user)){
af = mapping.findForward("success");
}else{
af = mapping.findForward("errors");
}
return af;
}
这是我写的一个,你参考一下
而getFileName这个方法才是获得你上传的文件的文件名的方法。你写错了朋友!
public ActionForward register(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
ActionForward af = null;
UserService userService = new UserServiceImpl();
DynaActionForm userForm = (DynaActionForm)form;
UserBean user = (UserBean)userForm.get("user");
request.setAttribute("user", user);
FormFile userHeadImg = (FormFile)userForm.get("formFile");
String root = getServlet().getServletContext().getRealPath("/");
if(userHeadImg != null && userHeadImg.getFileSize() != 0){
FileOutputStream out = new FileOutputStream(root+"/userHeadImg/"+userHeadImg.getFileName());
out.write(userHeadImg.getFileData());
out.flush();
out.close();
//文件上传成功以后,给用户头像属性赋值
user.setHeadImage("userHeadImg/"+userHeadImg.getFileName());
}
//设置注册时间
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
user.setRegisterDate(df.format(new Date()));
//调用业务逻辑方法
if(userService.userRegister(user)){
af = mapping.findForward("success");
}else{
af = mapping.findForward("errors");
}
return af;
}
这是我写的一个,你参考一下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询