使用对象存储oss实现图片上传
想要使用阿里云对象服务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上传
浙公网安备 33010602011771号