Java上传文件到阿里云对象存储器OSS

Java上传文件到阿里云对象存储器OSS

获取accessKeyId的方法。在阿里云的登录页面点击自己的头像。

参考代码如下:

    public String uploadFileAvatar(MultipartFile file) {
        //不同的服务器,地址不同
        String endpoint = "your endpoint"; 
        String accessKeyId = "your accessKeyId";
        String accessKeySecret = "your accessKeySecret";
        String bucketName = "guli-file";

        try {
            // 创建OSS实例。
            OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);

            //获取上传文件输入流
            InputStream inputStream = file.getInputStream();
            //获取文件名称
            String fileName = file.getOriginalFilename();

            //1 把文件按照日期进行分类
            //获取当前日期
            //   2019/11/12
            String datePath = new DateTime().toString("yyyy/MM/dd");
            //拼接
            //  2019/11/12/123.jpg
            fileName = datePath+"/"+fileName;

            //调用oss方法实现上传
            //第一个参数  Bucket名称
            //第二个参数  上传到oss文件路径和文件名称   aa/bb/1.jpg
            //第三个参数  上传文件输入流
            ossClient.putObject(bucketName,fileName , inputStream);

            // 关闭OSSClient。
            ossClient.shutdown();

            //把上传之后文件路径返回
            //需要把上传到阿里云oss路径手动拼接出来
            //  https://test123.oss-cn-beijing.aliyuncs.com/01.jpg
            String url = "https://"+bucketName+"."+endpoint+"/"+fileName;
            return url;
        }catch(Exception e) {
            e.printStackTrace();
            return null;
        }
    }

官网SDK使用文档地址:https://help.aliyun.com/document_detail/84781.html?spm=a2c4g.11186623.6.957.261c46a1nTuslQ

原文地址:https://www.cnblogs.com/xwxz/p/14420942.html