发表于: 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
评论