Java代码使用OSS

导入依赖

<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);
    }
}
原文地址:https://www.cnblogs.com/huahualove/p/13929048.html