发表于: 2017-11-11 23:28:03

1 840


今天完成的事 

在这里进行检讨,这一周心态真的是崩了,失了智,发现不了自己的问题,特别焦急,以后一定得试着把心态放平衡,自己基础差学历低,学习能力不如别人这一点应在做一个清楚的认识,不能被超过了就心急,认清自己的水平,别把自己太当回事,也别把自己不当回事。

图片上传终于完成了,这里主要犯的还是一些基础错误,代码不规范,bean的注入和类的引入和调用也都很不合章法,导致了错误一个接一个,bug总是接二连三

今天两种方法都试了(程远师兄的方法以及成延大佬告诉的方法)

先说程远师兄的  主要是使用的是从request中获取前端要上传的文件可以转换成流,也可以转换成字节码使用工具类上传

核心代码:

创建一个DiskFileItemFactory工厂

之后再将ruquest中所有文件放入上传解析器解析,后使用for循环选择是文件的输入项,在将其上传


成延大佬给我讲的方法:使用MulipartFile将前端特定名称form表单中的文件封装起来

核心代码:

       String imageName = file.getOriginalFilename();
       String suffix = imageName.substring(imageName.lastIndexOf("." )+1);
      //获取文件流
     InputStream in = file.getInputStream();

先将文件转换成文件流

String url = aliyunImageUtil.savePictureToAliyun(fileName, in);

再使用工具类上传到OSS


相对来说:程远师兄的更复杂  更难理解  但是代码更健壮 可以过滤多种文件,而成延大佬的代码量更低,更容易理解,但只能单张上传(这里是我个人理解,明天再查一查)


遇到的问题:


一直以来的request空指针错误,以及因为我取消了对上传页面的拦截,所以token失效的时候所报空指针,之前的空指针错误是没有讲读取文件的工具类使用@Autowired加载


requset为空但是不报错,问题出现在request和Multipartfile在controller同时入参了,这两种不能同时用,因为Multipartfile会将文件直接封装,导致request获取不到任何数据


The OSS Access Key Id you provided does not exist in our records.在实例化OSSclient的时候要严格注意入参的顺序以及正确性  不能多也不能少


OSS配置属性为空,注入失败,使用request方法时,要将各种属性声明为静态才可以被spring注入




明天的计划:

开始图片迁移

准备小课堂


收获:完成图片上传,两种方法  因祸得福吧


任务进度:任务7 步骤二

任务开始时间:2017-11-3

预计demo时间:2017.11.13

估计是要延期几天了

禅道:http://task.ptteng.com/zentao/project-task-276.html



返回列表 返回列表
评论

    分享到