栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

阿里云 对象存储OSS

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

阿里云 对象存储OSS

阿里云OSS介绍

阿里云官网地址

进入管理控制台
创建Bucket

进入AccessKey,创建AccessKey


也可以参考文档
阿里云参考文档

导入依赖
    
    
        org.springframework.boot
        spring-boot-starter-parent
        2.1.8.RELEASE
    
    
        
        
            org.springframework.boot
            spring-boot-starter-web
        

        
            com.aliyun.oss
            aliyun-sdk-oss
            3.10.2
        
        
            org.projectlombok
            lombok
        

        
        
            org.apache.commons
            commons-lang3
            3.7
        

        
        
            joda-time
            joda-time
            2.9.9
        
        
            org.springframework.boot
            spring-boot-starter-test
            test
        
    
aliyun.properties配置文件


endpoint

accessKeyId,accessKeySecret

bucketName

urlPrefix

AliyunConfig.class创建bean
@Configuration
@PropertySource("classpath:aliyun.properties")
@Data
public class AliyunConfig {

    @Value("${endpoint}")
    private String endpoint;
    @Value("${accessKeyId}")
    private String accessKeyId;
    @Value("${accessKeySecret}")
    private String accessKeySecret;
    @Value("${bucketName}")
    private String bucketName;
    @Value("${urlPrefix}")
    private String urlPrefix;

    @Bean
    public OSS oss(){
//        return new OSSClient(endpoint,accessKeyId,accessKeySecret); //被抛弃的,仍可以使用
        return new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
    }
}
UploadService.class 数据存储
@Service
public class UploadService {
//    @Autowired
//    private OSSClient ossClient;

    @Autowired
    private OSS oss;

    @Autowired
    private AliyunConfig aliyunConfig;

    public String upload(MultipartFile file) throws IOException {
        //文件路径
        String path=getFilepath(file.getOriginalFilename());

        PutObjectResult putObjectResult = oss.putObject(aliyunConfig.getBucketName(), path, new ByteArrayInputStream(file.getBytes()));

        System.out.println(putObjectResult);

        return aliyunConfig.getUrlPrefix()+path;
    }

    private String getFilepath(String sourceFileName){
        DateTime dateTime = new DateTime();
        return "images/"+dateTime.toString("yyyy")+"/"+
                dateTime.toString("MM")+"/"+dateTime.toString("dd")+"/"+
                System.currentTimeMillis()+ RandomUtils.nextInt(100,9999)+"."+
                StringUtils.substringAfter(sourceFileName,".");
    }

}
AliTest controller层
@RestController
@ResponseBody
public class AliTest {
    @Autowired
    private UploadService uploadService;

    @GetMapping("/upload")
    public String upload(MultipartFile file) throws IOException {
        String upload = uploadService.upload(file);
        return upload;
    }

}

测试

采用postman进行测试


访问地址是aliyun.properties中的urlPrefix加上文件路径

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/306324.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号