1.直接通过服务器连接图片服务器进行上传,这种会受限于服务器的性能;
2.通过前台直接上传到图片服务器,这个要把秘钥存储到js中,会存在很多的安全问题
3.通过服务器获取签名,然后在带着签名上传到图片服务器中
第二种方式以阿里云的OSS服务器为例
步骤:
1.引入依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alicloud-oss</artifactId>
</dependency>
2.编写配置
spring:
cloud:
alicloud:
access-key:xxxxxxxxx
secret-key:xxxxxxxxx
oss:
endpoint: #要上传的地址
3.使用
@Autowired
OSSClient ossClient;
InputStream is = new FileInputStream("");
ossClient.putObject("bucketName","key",is);
ossClient.shutdown();