JavaEE上传图片回显的场景

问题描述:

最近练习个人博客项目的时候,涉及到上传图片的场景。一些案例上传的文件或者图片都是保存在Window系统下的指定目录,或者是保存在项目的类路径下的static目录下。但我想把项目Linux服务器上。

如果是把上传的图片保存到类路径的static目录下,也就是target/classes/static,那如果再次把项目部署到服务器上时,会把target下的目录覆盖掉,导致项目前面运行过程中上传的图片丢失。

解决方案:

针对上传图片的场景,想到有以下几种解决方案:

1、把上传的图片存放在target/classes/static,但如果重新部署,或者本地用maven进行clean会导致该static下的图片丢失。

2、另外起一个服务,专门用来上传图片到target/classes/static目录下,提供上传图片跟访问图片的功能。(毕竟该服务不会经常改动,专门提供上传图片和访问图片就好了)

3、把上传的图片存放到tomcat容器下,通过tomcat可以访问到图片资源。

4、把上传的图片存放在Linux指定的一个目录,然后用Nginx去映射这些图片。这样就不会发生图片丢失。

5、使用一些平台提供的对象存储,如阿里云的OSS或者七牛云。

6、自己专门写一个OSS,专门给自己的项目提供对象存储的服务。

7、用码云当做项目的图床。


补充:

方案1,2只适用于本地服务,因为该两个方案的项目打成jar包部署在linux服务器上,是不能再上传文
件到该jar包内了,只能把上传的文件放在linux服务器上指定的其他位置,然后再通过流的方式读取该文件,以达到图片回显的效果。


end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值