- /**
- * 保存个人风采
- *
- * @throws IOException
- *
- */
- @RequestMapping(value = "/saveImgs1")
- public String saveImgs(ModelMap modelMap) {
- /* 权限验证 */
- int uid = this.user.get().getUid();
- if (this.user.get().getUid() <= 0) {
- return "redirect:/error/index?code=auth.unlogin";
- }
- // 允许上传的文件格式的列表JPG、JPEG、GIF、BMP
- final String[] allowtype = new String[] { ".JPG", ".JPEG", ".GIF",
- ".BMP", ".PNG", ".jpg", ".jpeg", ".gif", ".bmp", ".png" };
- try {
- String realPath = CMConfig.getProperty("newstempurl"); // 文件上传的绝对路径
- File fileDir = new File(realPath);
- if (!fileDir.exists()) {
- fileDir.mkdirs();
- }
- request.get().setCharacterEncoding("UTF-8");
- MultipartRequest mr = new MultipartRequest(request.get(), realPath,
- 4194304, "UTF-8");
- // mr.get
- String filename = "";
- String description = "";
- Enumeration filesname = mr.getFileNames();
- Enumeration filesdesc = mr.getParameterNames();
- String newImgPath = ""; // 新图片路径
- String url = ""; // 保存图片的url
- while (filesname.hasMoreElements()) {
- String name = (String) filesname.nextElement();
- String dc = (String) filesdesc.nextElement();
- filename = mr.getFilesystemName(name);
- description = mr.getParameter(dc);
- // filedName = (String) filesname.nextElement();// 文件文本框的名称
- File uploadFile = mr.getFile(name);
- if (null != uploadFile && uploadFile.length() > 0) {
- String imgPath = uploadFile.getName();
- // imgPath为原文件名
- int idx = imgPath.lastIndexOf(".");
- // 文件后缀
- String extention = imgPath.substring(idx);
- java.util.Date dt = new java.util.Date(
- System.currentTimeMillis());
- SimpleDateFormat fmt = new SimpleDateFormat(
- "yyyyMMddHHmmss");
- Long now = System.currentTimeMillis();
- String time = fmt.format(dt) + String.valueOf(now);
- // 新的文件名(日期+后缀)
- newImgPath = this.user.get().getUid() + "_" + time
- + extention;
- int allowFlag = 0;
- int allowedExtCount = allowtype.length;
- for (; allowFlag < allowedExtCount; allowFlag++) {
- if (allowtype[allowFlag].equals(extention))
- break;
- }
- if (allowFlag == allowedExtCount) {
- String message = "";
- for (allowFlag = 0; allowFlag < allowedExtCount; allowFlag++) {
- message += "*" + allowtype[allowFlag] + " ";
- }
- logger.debug(extention + "message:'请上传以下类型的文件"
- + message + "'");
- return "redirect:/account/personal_style?exception=imgtoolong";
- }
- File f = new File(fileDir + "/" + newImgPath);
- uploadFile.renameTo(f);
- Date d = new Date(now);
- String year = DateUtil.dateToString(d, "yyyy");
- String month = DateUtil.dateToString(d, "MM");
- String day = DateUtil.dateToString(d, "dd");
- url = CMConfig.getProperty("image.upload.url") + "/" + year
- + "/" + month + "/" + day + "/" + newImgPath;
- FileMove.move(CMConfig.getProperty("newstempurl")
- + newImgPath, CMConfig.getProperty("newsurl"),
- newImgPath);
- }
- }
- UDBUserDao userDao = AppContext
- .getBean("userDao", UDBUserDao.class);
- if (url.trim().length() == 0) {
- return "redirect:/account/personal_style?exception=imgnotnull";
- } else {
- if (userDao.initSelfStyle(uid, url) > 0) {
- // 增加积分
- ScoreService scoreService = AppContext.getBean(
- "scoreService", ScoreService.class);
- scoreService.addScore(this.user.get().getUid(),
- ScoreRuleType.ADD_STYLE, 0);
- return "redirect:/account/personal_style?exception=success";
- } else {
- return "redirect:/account/personal_style?exception=error";
- }
- }
- } catch (UnsupportedEncodingException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (IOException e) {
- logger.debug("**************************************************");
- logger.debug("个人风采图片上传大小超过4M");
- logger.debug("**************************************************");
- return "redirect:/account/personal_style?exception=imgtoolong";
- }
- this.model.get().addAttribute("title",
- "个人风采_账号设置_" + CMConfig.getProperty("default.title"));
- return "redirect:/account/personal_style";
- }
spring mvc 图片上传
最新推荐文章于 2024-04-04 09:53:25 发布