springmvc 文件上传问题总结+spring上传文件源码解析

来源:互联网 发布:单片机识别条形码 编辑:程序博客网 时间:2024/05/16 03:00

刚开始今天拿到上传图片需求,感觉很简单,虽然是和angularjs的上传文件对接ngupload

我刚开始写了一个ftp上传图片MultipartFile走的ftp,但是发现前端掉接口的时候跨域 我就加了一个@CrossOrigin(origins = "*", maxAge = 3600),然后发现还是403,我查询了一下,添加了一个过滤器,添加

Access-Control-Allow-Origin:| * // 授权的源控制

Access-Control-Max-Age:// 授权的时间

Access-Control-Allow-Credentials: true | false // 控制是否开启与Ajax的Cookie提交方式

Access-Control-Allow-Methods:[,]*// 允许请求的HTTP

MethodAccess-Control-Allow-Headers:[,]*// 控制哪些header能发送真正的请求

添加了这些,说到这就要说简单跨域和复杂跨域

上面这个是简单跨域(简单参数跨域)的,还有一种是带headr请求跨域,就是在发请求之前要发一个OPTIONS请求来验证一下这是安全的么(也就是有没有返回值),明天另一篇文章会解析spirng上传文件 源码,如果OPTIONS验证正确再发正确请求,

我当时就是这次验证没过去,然后发现前端给的ContentType方式是json,我希望的是mutity/,这个就联系到spring上传文件的时候,spring内的验证机制,

一个是post或者put请求

二是contenttype方式必须是mutity/开头的

最后用Base64前端编码,后台解码,然后我传到文件服务器指定文件夹下

对了base64在线转的时候需要一个前缀确定变为什么的,今天暂时没有心情了,有空补(也不知道什么时候,有问题可以留言)



------------工作中没有朋友,总结现在工作中的人和事,不要感恩(恩情不是在工作中的,记住),让自己进步(不显山不露水),让这些人看看你,让他们赶不上你(先隐藏,记住工作中没有朋友),我是深有感触,可能是我做人的方式和他不同把,我认为不感恩,不仁义,不讲义气,不孝敬的人就算现在很好,以后一旦有事不卖了朋友就算万幸,我是不想在身边有一个定时炸弹,哪怕可以不理,我今天的感触送给看到这篇文章的人。我只希望我的兄弟,家里人可以好,别人我管他呢

-xgf