导入依赖
<dependency> <groupId>com.aliyun.oss</groupId> <artifactId>aliyun-sdk-oss</artifactId> <version>3.10.2</version> </dependency>
定义配置类 创建 OSSClient
/** * 负责创建 OSSClient */ @Configuration public class OSSConfig { @Bean public OSS ossClient(){ // Endpoint以杭州为例。 String endpoint = "https://oss-cn-beijing.aliyuncs.com"; // 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录RAM控制台创建RAM账号。 String accessKeyId = "LTxxxxqnj"; String accessKeySecret = "njL5xxxxxxXYoc"; // 创建OSSClient实例。 OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret); return ossClient; } }
Controller
@RestController @RequestMapping("oss") public class OSSController { @Autowired private OSS ossClient; @RequestMapping("uploadImg") public R uploadImg(MultipartFile file) throws IOException { /** * 获取文件后缀名 */ String originalFilename = file.getOriginalFilename(); int i = originalFilename.lastIndexOf("."); String png = originalFilename.substring(i); /** * 存储空间的名字 */ String bucketName = "bzmall-05"; String fileName = "brand/"+ UUID.randomUUID().toString().substring(0,4) +png; // 上传文件到指定的存储空间(bucketName)并将其保存为指定的文件名称(objectName)。 PutObjectResult result = ossClient.putObject(bucketName, fileName, file.getInputStream()); String fileUrl = "https://xxxxx.com/"+fileName; return R.ok().put("url",fileUrl); } }