首页 > Web开发 > 详细

使用对象存储oss实现图片上传

时间:2021-01-19 19:32:38      阅读:24      评论:0      收藏:0      [点我收藏+]

想要使用阿里云对象服务oss来保存用户的头像,首先要在阿里云创建账号开通oss服务并创建bucket,并取得accesskey等操作

技术分享图片

具体可以在阿里云的官方文档当中学习https://help.aliyun.com/document_detail/32011.html

写一个demo,核心代码如下

@Service

public class OssServiceImpl implements OssService{

    /**
    * @Description: 头像上传实现类
    * @Author: 何志恒
    **/
    // 上传文件到oss
    @Override
    public String uploadFileAvatar(MultipartFile file) throws IOException {
        // Endpoint以杭州为例,其它Region请按实际情况填写,工具类取值
        String endPoint = ConstantPropertiesUtils.END_POINT;
        String accessKeyId = ConstantPropertiesUtils.ACCESS_KEY_ID;
        String accessKeySecret = ConstantPropertiesUtils.ACCESS_KEY_SECRET;
        String bucketName = ConstantPropertiesUtils.BUCKET_NAME;


        // 创建OSSClient实例。
        OSS ossClient = new OSSClientBuilder().build(endPoint, accessKeyId, accessKeySecret);

        // 上传文件流。
        InputStream inputStream = file.getInputStream();
        // 文件名称
        String fileName = file.getOriginalFilename();
        // 1.在文件名称中添加唯一值
        String uuid = UUID.randomUUID().toString().replace("-","");
        fileName = uuid + fileName;

        // 2.把文件按照日期分类
        String datePath = new DateTime().toString("yyyy/MM/dd");
        fileName = datePath + "/" + fileName;

        ossClient.putObject(bucketName, fileName, inputStream);

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

        // 返回上传之后的路径
        // 需手动把上传到阿里oss的路径拼接出来
        String url = "https://" + bucketName + "." + endPoint + "/" + fileName;
        return url;
    }
}

  实现使用oss上传

使用对象存储oss实现图片上传

原文:https://www.cnblogs.com/iamlost/p/14297749.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!