温州网站定制,石家庄网络公司名单,起名字公司大全免费,企业网站设计哪家好【SpringBoot实战】基于阿里云实现文件上传
在实际项目开发中#xff0c;不可避免地会使用到阿里云OSS进行文件存储。尽管阿里云有详细的开发文档#xff0c;但本篇博客的目的是让我们能够用简明的代码快速实现这个功能。
引入依赖
dependencies!-- 阿里云oss…【SpringBoot实战】基于阿里云实现文件上传
在实际项目开发中不可避免地会使用到阿里云OSS进行文件存储。尽管阿里云有详细的开发文档但本篇博客的目的是让我们能够用简明的代码快速实现这个功能。
引入依赖
dependencies!-- 阿里云oss依赖 --dependencygroupIdcom.aliyun.oss/groupIdartifactIdaliyun-sdk-oss/artifactIdversion3.9.1/version/dependency!-- 日期工具栏依赖 --dependencygroupIdjoda-time/groupIdartifactIdjoda-time/artifactIdversion2.10.1/version/dependency
/dependencies文件上传
public String fileUpload(MultipartFile file) {String endpoint endpoint; // 如oss-cn-shanghai.aliyuncs.comString keyId keyId;String keySecret keySecret;String bucketName bucketName; // bucket名称// 创建OSSClient实例。OSS ossClient new OSSClientBuilder().build(endpoint, keyId, keySecret);try {InputStream inputStream file.getInputStream();// 文件实际名称String filename file.getOriginalFilename();// 使用uuid确保文件名唯一String uuid UUID.randomUUID().toString().replaceAll(-, );// 对上传文件进行分组根据当前年/月/日String date new DateTime().toString(yyyy/MM/dd);filename date / uuid filename;// 创建PutObjectRequest对象PutObjectRequest putObjectRequest new PutObjectRequest(bucketName, filename, inputStream);// 设置该属性可以返回response。如果不设置则返回的response为空putObjectRequest.setProcess(true);// 上传文件PutObjectResult result ossClient.putObject(putObjectRequest);// 返回文件的urlreturn result.getResponse().getUri();} catch (Exception e) {e.printStackTrace();} finally {if (ossClient ! null) {ossClient.shutdown();}}return null;}