失业保险网站,自己做的网站如何盈利,河南网站托管,wordpress建站论坛2.3.3 集成 
阿里云oss对象存储服务的准备工作以及入门程序我们都已经完成了#xff0c;接下来我们就需要在案例当中集成oss对象存储服务#xff0c;来存储和管理案例中上传的图片。 在新增员工的时候#xff0c;上传员工的图像#xff0c;而之所以需要上传员工的图像…2.3.3 集成 
阿里云oss对象存储服务的准备工作以及入门程序我们都已经完成了接下来我们就需要在案例当中集成oss对象存储服务来存储和管理案例中上传的图片。 在新增员工的时候上传员工的图像而之所以需要上传员工的图像是因为将来我们需要在系统页面当中访问并展示员工的图像。而要想完成这个操作需要做两件事  需要上传员工的图像并把图像保存起来存储到阿里云OSS  访问员工图像通过图像在阿里云OSS的存储地址访问图像  OSS中的每一个文件都会分配一个访问的url通过这个url就可以访问到存储在阿里云上的图片。所以需要把url返回给前端这样前端就可以通过url获取到图像。  我们参照接口文档来开发文件上传功能 基本信息 请求路径/upload
请求方式POST
接口描述上传图片接口  请求参数 参数格式multipart/form-data 参数说明 参数名称参数类型是否必须示例备注imagefile是 响应数据 参数格式application/json 参数说明 参数名类型是否必须备注codenumber必须响应码1 代表成功0 代表失败msgstring非必须提示信息dataobject非必须返回的数据上传图片的访问路径响应数据样例 {code: 1,msg: success,data: https://web-framework.oss-cn-hangzhou.aliyuncs.com/2022-09-02-00-27-0400.jpg
}   引入阿里云OSS上传文件工具类由官方的示例代码改造而来 
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.io.InputStream;
import java.util.UUID;
Component
public class AliOSSUtils {private String endpoint  https://oss-cn-shanghai.aliyuncs.com;private String accessKeyId  LTAI5t9MZK8iq5T2Av5GLDxX;private String accessKeySecret  C0IrHzKZGKqU8S7YQcevcotD3Zd5Tc;private String bucketName  web-framework01;
/*** 实现上传图片到OSS*/public String upload(MultipartFile multipartFile) throws IOException {// 获取上传的文件的输入流InputStream inputStream  multipartFile.getInputStream();
// 避免文件覆盖String originalFilename  multipartFile.getOriginalFilename();String fileName  UUID.randomUUID().toString()  originalFilename.substring(originalFilename.lastIndexOf(.));
//上传文件到 OSSOSS ossClient  new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);ossClient.putObject(bucketName, fileName, inputStream);
//文件访问路径String url  endpoint.split(//)[0]  //  bucketName  .  endpoint.split(//)[1]  /  fileName;
// 关闭ossClientossClient.shutdown();return url;// 把上传到oss的路径返回}
} 
修改UploadController代码 
import com.itheima.pojo.Result;
import com.itheima.utils.AliOSSUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
Slf4j
RestController
public class UploadController {
Autowiredprivate AliOSSUtils aliOSSUtils;
PostMapping(/upload)public Result upload(MultipartFile image) throws IOException {//调用阿里云OSS工具类将上传上来的文件存入阿里云String url  aliOSSUtils.upload(image);//将图片上传完成后的url返回用于浏览器回显展示return Result.success(url);}} 
使用postman测试