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

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

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

具体可以在阿里云的官方文档当中学习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实现图片上传

上一篇:JS生成excle文件


下一篇:获取网络URL http状态头