欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 艺术 > 动力商城-04 阿里云对象存储OSS

动力商城-04 阿里云对象存储OSS

2025/2/23 14:59:36 来源:https://blog.csdn.net/qq_53568730/article/details/143855830  浏览:    关键词:动力商城-04 阿里云对象存储OSS

1.申请阿里云秘钥
在这里插入图片描述

2.创建Bucket
在这里插入图片描述
3.对应模块添加依赖
在这里插入图片描述

4.文件上传控制类

@Api(tags = "文件上传接口管理")
@RequestMapping("admin/file")
@RestController
public class FileUploadController {@Resourceprivate AliyunOSSConfig aliyunOSSConfig;/*** 上传文件:* 1.接口要求请求方式必须是post请求* 2.接收文件的对象的类型是:MultipartFile  该对象是SpringMVC提供的* @return   此处返回的是url地址*/@ApiOperation("上传单个文件")@PostMapping("upload/element")public String uploadFile(MultipartFile file) {// 填写Bucket名称String bucketName = aliyunOSSConfig.getBucketName();// 以天为单位的名称,作为文件夹名称String newFolderName = DateUtil.format(new Date(), "yyyy-MM-dd");// 以时间戳作为文件的新名称String newFileName = DateUtil.format(new Date(), "HHmmssSSS");// 获取原文件的后缀名称String originalFilename = file.getOriginalFilename();String fileSuffix = originalFilename.substring(originalFilename.lastIndexOf("."));// 填写Object完整路径,完整路径中不能包含Bucket名称,例如exampledir/exampleobject.txt。String objectName = newFolderName+"/"+newFileName+fileSuffix;// 创建OSSClient实例。OSS ossClient = new OSSClientBuilder().build(aliyunOSSConfig.getEndpoint(), aliyunOSSConfig.getAccessKeyId(), aliyunOSSConfig.getAccessKeySecret());URL url = null;try {// 创建PutObjectRequest对象。PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, objectName, file.getInputStream());// 上传ossClient.putObject(putObjectRequest);// 创建上传文件访问的url地址url = ossClient.generatePresignedUrl(bucketName, objectName, DateUtil.offsetDay(new Date(), 365 * 10));} catch (Exception ce) {System.out.println("Error Message:" + ce.getMessage());} finally {if (ossClient != null) {ossClient.shutdown();}}return url.toString();}
}

5.阿里云平台-对象存储OSS服务配置类

public class AliyunOSSConfig {/*** 访问地址*/private String endpoint;/*** bucket名称*/private String bucketName;/*** 访问ID*/private String accessKeyId;/*** 访问密钥*/private String accessKeySecret;
}

6.bootstrap.yml配置 放到nacos远程配置中

  aliyun:oss:endpoint: oss-cn-beijing.aliyuncs.combucketName: ynu-mallaccessKeyId: accessKeySecret: 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词