2.2 申请账号com.alibaba.cloud spring-cloud-starter-alicloud-oss
登录阿里云官网:
搜索RAM->进入RAM 访问控制。
创建用户:
授予权限:
记录你的****AccessKey ID和AccessKey Secret信息:
| AccessKey ID | LTAI5tC6vYWV9d3tFkCNLKDs |
|---|---|
| AccessKey Secret | PVkpcDGzRqe6q0k6cNlKNWCMbenzfo |
进入OSS控制中心:
创建Bucket:
信息确认无误后,点击确定:
记录地域地址:
oss-cn-beijing.aliyuncs.com oss-cn-beijing-internal.aliyuncs.com oss-cn-beijing-internal.aliyuncs.com2.4 添加配置文件
打开Nacos,修改配置文件:
3. 文件上传接口开发 3.1 新建FileController
@RestController
@Api(tags = "文件上传")
public class FileController {
@Autowired
private OSS ossClient ;
@Value("${oss.bucket.name:exchange-imgs}")
private String bucketName ;
@Value("${spring.cloud.alicloud.oss.endpoint}")
private String endPoint ;
@ApiOperation(value = "文件上传")
@PostMapping("/image/AliYunImgUpload")
@ApiImplicitParams({
@ApiImplicitParam(name = "file" ,value = "你要上传的文件")
})
public R fileUpload(@RequestParam("file") MultipartFile file) throws IOException {
String fileName = DateUtil.today().replaceAll("-","/")+"/"+file.getOriginalFilename() ;
ossClient.putObject(bucketName, fileName, file.getInputStream()); // 文件上传
// 上传成功后,路径为https://exchange-imgs.oss-cn-beijing.aliyuncs.com/2020/10/10/1588586643_meitu_1.jpg
return R.ok("https://" + bucketName+ "."+ endPoint +"/"+ fileName) ;
}
}
3.2 MultipartFile 序列化问题
MultipartFile 使用fastjson 序列化会报错,因此我们需要忽略掉它:
修改WebLogAspect(是一个切面, 所有的controller运行完都会运行这个切面)里面的代码:



