发表于: 2018-09-10 22:05:32

1 440


一、今天完成的事情:

完成任务七的所有功能,将功能整合到Spring框架中,

1、实现上传图片后,界面上回显上传的图片

//阿里云上传照片
@RequestMapping(value = "/photeUpload", method = RequestMethod.POST)
public ModelAndView upLoadPhoto(@RequestParam("name") String name, @RequestParam("photoPath") MultipartFile photoPath,
                               HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
//阿里云相关配置
   String accessKeyId = "LTAI2TGWKVTWNgdn";
   String accessKeySecret = "wrYXWEhkr8MjnNZ1E2WJHthZvXRfAY";
   String endpoint = "http://oss-cn-shenzhen.aliyuncs.com";
   ModelAndView mav = new ModelAndView();

   if (userService.judgeUserExist(name)) {
logger.info("\n数据库存在该用户,用户名为:" + name);

       if (!photoPath.isEmpty()) {
//获得原来文件名称
           String origionFileName = photoPath.getOriginalFilename();
           InputStream s = photoPath.getInputStream();
           System.out.println("上传之前的名称:\n\n" + origionFileName);
           //随机生成上传图片名称
           String NewFileName = String.valueOf(UUID.randomUUID()) + origionFileName.substring(origionFileName.lastIndexOf("."));
           System.out.println("上传的名称为:\n\n" + NewFileName);

           // 创建OSSClient实例。
           OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
           String showUrl = "http://aliyunuploadphoto.oss-cn-shenzhen.aliyuncs.com/" + NewFileName;
           // 上传文件流。
           logger.info("\n\n取得文件流:" + s);
           ossClient.putObject("aliyunuploadphoto", NewFileName, s);
           String msg = "Upload Success!";
           mav.addObject("msg", msg);
           //将图片注入到jsp页面
           mav.addObject("showUrl", showUrl);
           System.out.println("地址为:" + showUrl);
           //将图片信息插入数据库
           userService.updateUserByName(NewFileName, name);
           // 关闭OSSClient。
           ossClient.shutdown();
           mav.setViewName("showUpLoadPhoto");
           return mav;
       }
RequestDispatcher rd = request.getRequestDispatcher("/photoUD/aliyunphotoupload.jsp");
       rd.forward(request, response);
       mav.setViewName("photoUPError");
   }
logger.info("\n数据库不存在该用户,请重新输入用户名!\n");
   return mav;
}

这里没有进行图片的压缩,压缩后的图片好难看,所以就保持原有的大小


2、关联用户名上传图片,并在数据库中保存相关记录


3、完成界面上进行迁移操作,并在迁移完成后,界面上的图片并不受影响,正常显示图片。

从阿里云迁移到七牛,然后将阿里云上的图片全部清空,再去查看图片是否能正常显示。


迁移之前:


迁移成功。


删除阿里云上的图片


再次查询


地址变化了,但是图片可以正常显示。

重新查询一个人,再次将七牛云的图片迁移到阿里云,并删除七牛云上的所有图片。


迁移到阿里云


证明迁移成功。


3、任务七总结

任务名称:JAVA=task7


成果连接:https://github.com/IT-xzy/Task/tree/master/Java/zhuangweipeng/task6

任务耗时:2018.08.23--2018.09.10 共计18天。请假2.5天

任务延期10天

延期原因和任务总结:

1、自己心态没有能及时调整好。

2、杂七杂八的事情比较多。

3、个人事务造成了很大的影响。

4、而且任务7当中涉及的知识点比较多,偶尔回去补补基础知识,和踩到的坑比较多,学习比较有精神的时候是在晚上,晚上踩到的坑,基本没有人能解决,只有自己去解决,所以在这过程当中,花费了很长时间。

5、对于api接口文档不熟悉,看了好久接口文档,不知道怎么下手。

6、对于任务七的整体框架没有一个很好的刨铣,就开始进行任务,导致在最后面,做出了部分功能,还有部分功能没有做出来,就需要各种查查补补,导致程序整体框架、架构都比较乱,这一点是要在以后当中避免出现的。这一点开发很忌讳。

官网脑图


个人脑图



二、明天计划的事情:

进入任务8


三、遇到的问题:

在做迁移后显示逻辑的时候,一直获取不到阿里云遍历的结果,但是测试类可以正常获取,一直报空指针异常,后面排查是因为在控制类中缺少注解,没有将工具类的对象注进去,所以一直取不到数据,一直显示空指针。

解决方案,添加注解后,问题解决。


四、收获

如上。


进度:任务七

任务开始时间:2018.08.23

预计demo时间:2018.08.30

禅道地址:http://task.ptteng.com/zentao/project-task-731-unclosed.html



返回列表 返回列表
评论

    分享到