图片上传的两种形式-阿里云开发者社区

开发者社区> 风间影月> 正文

图片上传的两种形式

简介: 很早以前的单应用项目上传图片都是很简单的,上传图片后在controller层设置路径并且保存到服务器的某个路径下就行了,数据库中存储路径地址,最后在tomcat中设置一个虚拟路径就行了,很多年以前大多都是这么做的。
+关注继续查看

很早以前的单应用项目上传图片都是很简单的,上传图片后在controller层设置路径并且保存到服务器的某个路径下就行了,数据库中存储路径地址,最后在tomcat中设置一个虚拟路径就行了,很多年以前大多都是这么做的。

然而随着技术的更新迭代,SOA,微服务,这样的做法是会被淘汰的,如果是分布式部署或者集群环境,上传文件到各自的服务器上去,是无法做到统一的,那么就要用到图片服务器,之前我有提过fastdfs,这个是一个非常好用的文件服务器,这里不多说了。各个项目上传的图片都统一由文件服务器来管理,那么以后不论在分布式环境下或者集群环境下,根据分配的路径去访问就可以获得图片即可。

1、使用文件流来处理,这个结果这样做可以同时被浏览器,ios以及安卓调用,从MultipartHttpServletRequest中获取MultipartFile对象即可,最后再调用文件服务器的接口上传即可

2、使用base64上传

切割图片后可以生产一堆base64字符串,这个字符串就是你要上传的图片,只要把这个字符串传到后台去解码处理即可,最终在使用fastdfs来上传就行

 

那么这两种方式有什么区别呢?

1、访问文件流图片需要2次HTTP请求,而BASE64只需要一次

2、文件流图片在任何浏览器都可以被访问到,而base64某些浏览器不支持

3、base64图片无法缓存(缓存整页另当别论)

4、base64编码的图片相对偏大,所以一般都是用来做小图的,比如头像

 

用处:

文件流用来上传大图,比如一些广告图片啊,商品图片等等

base64图片可以用来上传用户头像,或者小的logo,或者小的图标等等

base64可以保存到数据库,而不需求上传,但是我不推荐这么做,图片都应该统一在文件服务器中管理,当然这个看需求设计了

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
来更快的Maven了,我的天,速度提升了8倍!(1)
更快的Maven来了,我的天,速度提升了8倍!(1)
32 0
Spring Boot Admin,贼好使!(7)
Spring Boot Admin,贼好使!(7)
18 0
MyBatis 批量插入数据的 3 种方法!(8)
MyBatis 批量插入数据的 3 种方法!(8)
5 0
Gear的技术优势
Gear 关键的技术创新在于其新颖的跨合约通信方式。Gear 使用 Actor 通信模型和 WebAssembly VM,支持并行处理,并具有速度快、成本低的优势。 事实证明, WebAssembly VM 比任何其他方案运行速度都要快。使用 WebAssembly 可以让 GEAR 的智能合约直接编译成机器码,运行速度媲美原生。更快的速度意味着更低的交易成本和更高的效率。
9 0
MyBatis 批量插入数据的 3 种方法!(7)
MyBatis 批量插入数据的 3 种方法!(7)
6 0
保姆级教程,终于搞懂脏读、幻读和不可重复读了!(3)
保姆级教程,终于搞懂脏读、幻读和不可重复读了!(3)
20 0
JVM深入学习(二十四)-GC日志
GC日志是分析垃圾回收不可缺少的工具,我们通过对GC日志的分析可以看到垃圾回收的详细过程,更好的调优垃圾回收
4 0
用谷歌云自建微软GitHub codespaces和VScode.dev云编译Cloud IDE是怎样一种体验?
你将拥有比微软官方vscode.dev 更强大的vscode谷歌云IDE,你可以随时随地坐在马桶上用599块钱的小米手机登陆网页版vscode开发一款APP,比如:Tiktok;这个网页版vscode比微软GitHub codespaces和VScode.dev官方更强大,它同样拥有terminal,重点是它编译不受本地网络的限制可以远程云编译,高速高效随时随地,而且是使用强大谷歌云服务器进行编译,爽哼! 下一步咱们搞个Android studio网页版云编译平台,好不好,宝? 下下一步咱们使用599块钱的小米手机远程连接网页版vscode和网页版Android studio开发一款安卓ap
8 0
HashMap 中的一个“坑”!(2)
HashMap 中的一个“坑”!(2)
23 0
+关注
风间影月
互联网后端开发工程师,技术经理,项目经理,架构师
170
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载