首页 > 其他分享 >Oss图片上传的功能

Oss图片上传的功能

时间:2022-10-21 23:22:44浏览次数:58  
标签:ConstantPropertiesUtils String Oss filename file datePath 上传 图片

Oss的图片上传

工具类获取oss的四个参数

        String endpoint = ConstantPropertiesUtils.END_POINT;
        String accessKeyId = ConstantPropertiesUtils.KEY_ID;
        String accessKeySecret = ConstantPropertiesUtils.KEY_SECRET;
        String bucketName = ConstantPropertiesUtils.BUCKET_NAME;

保证图片的唯一性

首先获取上传文件的文件名

        String filename = file.getOriginalFilename();

加上UUID类

 		//获取上传的文件名
        String filename = file.getOriginalFilename();
        // 给文件名加上一个uuid
        String s = UUID.randomUUID().toString().replaceAll("_", "");

上传到阿里云文件中指定的文件夹

给文件名前加入文件夹路径

String datePath = "guli";
//拼接
filename = datePath + "/" + filename;

完整的Service层代码



@Service
public class OssServiceImpl implements OssService {
    @Override
    public String upLoadAvatar(MultipartFile file) {
        //工具类获取值
        String endpoint = ConstantPropertiesUtils.END_POINT;
        String accessKeyId = ConstantPropertiesUtils.KEY_ID;
        String accessKeySecret = ConstantPropertiesUtils.KEY_SECRET;
        String bucketName = ConstantPropertiesUtils.BUCKET_NAME;
        //获取上传的文件名
        String filename = file.getOriginalFilename();
        // 给文件名加上一个uuid
        String s = UUID.randomUUID().toString().replaceAll("_", "");
        filename = s + filename;
        // 把文件按日期分类 2022/10/21
        // 获取当前日期  joda-time包中获取的时间类
//        String datePath = new DateTime().toString("yyyy/MM/dd");
        String datePath = "guli";
        //拼接
        filename = datePath + "/" + filename;
        // 创建OSSClient实例。
        OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
        try {
            // 上传流的创建
            InputStream inputStream = file.getInputStream();
            // 调用方法传参
            // 1.buctname
            // 2.file名称与文件名称  aa/bb
            // 3.输出流
            ossClient.putObject(bucketName, filename, inputStream);
        } catch (IOException e) {
            e.printStackTrace();
            return null;
        } finally {
            //关闭上传对象
            ossClient.shutdown();
        }
        //返回的路径
        //         https://zou-learn.oss-cn-chengdu.aliyuncs.com/guli/001.jpg
        String ImageUrl = " https://" + bucketName + "." + endpoint + "/" + filename;
        return ImageUrl;
    }
}

标签:ConstantPropertiesUtils,String,Oss,filename,file,datePath,上传,图片
From: https://www.cnblogs.com/zouLearn/p/16815065.html

相关文章