介绍
今天就跟大家聊聊有关SpringBoot整合阿里云OSS对象存储和文件上传的过程怎样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
1。准备工作:
一,首先登录阿里云OSS对象存储控制台创建一个桶作为你的存储空间。
二,创建访问柯桥柯岩按要求创建进行,这里的方法步骤我就不展现出来了,你们可以自行查询阿里云文档,这个获取值本身就不难。
重点:记下你的<强> AccessKey ID 强>,<强> AccessKey秘密强>以及你刚才创建的Buacket名字<强> BucketName 强> .
2。配置:
在pom里引入oss要用的依赖
& lt; dependency> & lt; groupId> com.aliyun.oss & lt; artifactId> aliyun-sdk-oss & lt; version> 3.10.2 & lt;/dependency>
在application.yml里面添加配置文件
#,定义的端口号服务器: ,,端口:8080年阿里巴巴: oss才能:# yourEndpoint填写斗所在地域对应的端点,可在创建好的桶概况页查看.endpoint:, oss-cn-chengdu.aliyuncs.com,以成都为例,端点填写为https://oss-cn-chengdu.aliyuncs.com阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建内存用户accessKeyId:, * * * * * * * * * * #,阿里云账号AccessKey里所对应的AccessKey IDaccessKeySecret:, * * * * * * * * * * #,阿里云账号AccessKey里所对应的AccessKey SecretbucketName:, * * * * * * * * * * #, oss对象存储空间名
3。详细代码:
第一步:创建一个服务包,新建一个AliyunOssService.java
import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; import java.util.Map; @Servicepublic interface AliyunOssService {Map<字符串,Object>,上传(MultipartFile 文件,String 文件名); }
第二步:在服务包里创建一个impl包,新建一个AliyunOssServiceImpl.java
import com.system.demo.service.AliyunOssService; import com.system.demo.util.FileUploadUtil; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import java.util.HashMap; import java.util.Map;//java项目www.fhadmin.org@Service (“aliyunOssService") public class AliyunOssServiceImpl implements AliyunOssService {@Resourceprivate FileUploadUtil  fileUploadUtil; @Overridepublic Map<字符串,Object>,上传(MultipartFile 文件,String 文件名){//定义一个目录(这里的目录可根据自己实际情况自己拼接定义)String path =,“a";,,,//我这里就随便定义一个一个文件夹//拼接,这里将路径和文件名拼接在了一起fileName =, path +,“/? +文件名; ,,,,,,,Map<字符串,Object>, map =new HashMap<在(); ,,,,,,,map.put (“code",, 200); ,,,,,,,map.put (“msg",,“查询成功“); ,,,,,,,map.put (“data",, this.fileUploadUtil.upload(文件,文件名));return 地图; ,,,} }
第三步:创建一个util包,新建一个FileUploadUtil.java
import com.aliyun.oss.OSS; import com.aliyun.oss.OSSClientBuilder; import com.aliyun.oss.model.ObjectMetadata; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import org.springframework.web.multipart.MultipartFile; import java.io.IOException; import java.io.InputStream;//java项目www.fhadmin.org@Componentpublic class  FileUploadUtil {@ value (“$ {aliyun.oss.endpoint}“) private String 端点;@ value (“$ {aliyun.oss.accessKeyId}“) private String accessKeyId; @ value (“$ {aliyun.oss.accessKeySecret}“) private String accessKeySecret; @ value (“$ {aliyun.oss.bucketName}“) private String bucketName; public String 上传(MultipartFile 文件,String 文件名){//,写入文件try {//获取上传的输入流InputStream InputStream =, file.getInputStream();//设置访问地址是默认是预览图片ObjectMetadata meta =, new ObjectMetadata (); ,,,,,,,,,,,,,,,meta.setContentType(“图像/jpg");//,创建OSSClient实例OSS ossClient =, new OSSClientBuilder () .build(端点,accessKeyId,, accessKeySecret);/* ,,,,,,,,,,,,,,,调用oss上传到阿里云对象存储oss——桶存储空间 ,,,,,,,,,,,,,,,第一个参数,桶名称 ,,,,,,,,,,,,,,,第二个参数,文件名称 ,,,,,,,,,,,,,,,第三个参数,输入流 ,,,,,,,,,,,,,,,第四个参数,文件类型 null null null null null null null null null null nullSpringBoot整合阿里云OSS对象存储和文件上传的过程怎样的