使用阿里云对象存储OSS收藏老婆新垣结衣日常照
生活随笔
收集整理的這篇文章主要介紹了
使用阿里云对象存储OSS收藏老婆新垣结衣日常照
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
- 阿里云OSS官方文檔
- 開通阿里云OSS服務
- 入門使用
- java代碼上傳文件至OSS
- 1、準備工作:創建阿里云OSS許可證(獲取對Api的訪問權限)
- 選擇繼續使用 AccessKey
- 創建AccessKey
- 創建成功
- springBoot整合OSS
- 依賴
- 配置文件 application.yaml
- 常量工具類
- OssController
- OssService
- 效果
- 結尾
阿里云OSS官方文檔
官方文檔
開通阿里云OSS服務
先進入控制臺,點擊菜單欄的對象存儲 OSS,根據提示開通服務。
阿里云OSS 學習路徑
入門使用
使用步驟
首先創建一個Bucket
使用OOS
3. 上傳文件
java代碼上傳文件至OSS
API文檔
1、準備工作:創建阿里云OSS許可證(獲取對Api的訪問權限)
選擇繼續使用 AccessKey
創建AccessKey
創建成功
springBoot整合OSS
依賴
<dependencies><!-- 阿里云oss依賴 --><dependency><groupId>com.aliyun.oss</groupId><artifactId>aliyun-sdk-oss</artifactId><version>${aliyun.oss.version}</version></dependency><!-- 日期工具欄依賴 --><dependency><groupId>joda-time</groupId><artifactId>joda-time</artifactId></dependency></dependencies>配置文件 application.yaml
server:port: 8002 spring:application:name: service-ossprofiles:active: dev## 阿里云 OSS aliyun:oss:file:endpoint: oss-cn-beijing.aliyuncs.com # 地域節點keyid: LTAI5tFNjjg1s5mxxDC6Rxc4 # AccessKeyIdkeysecret: fZvVNtbU8pNfmAxxx53jYXhMUVHOo8 # 密鑰bucketname: edu-xiuyuan # bucket名字常量工具類
package com.zlf.oss.utils;import lombok.Data; import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component;/*** Created with IntelliJ IDEA.** @Auther: zlf* @Date: 2021/03/22/20:01* @Description: 讀取常量的工具類*//*** InitializingBean 實現該接口 在SpringBoot項目初始化時會初始化將配置文件中的值賦給對應屬性*/ @Component public class ConstantPropertiesUtils implements InitializingBean {@Value("${aliyun.oss.file.endpoint}")private String endPoint;@Value("${aliyun.oss.file.keyid}")private String keyId;@Value("${aliyun.oss.file.keysecret}")private String keySecret;@Value("${aliyun.oss.file.bucketname}")private String bucketName;public static String END_POINT;public static String KEY_ID;public static String KEY_SECRET;public static String BUCKET_NAME;/*** @Description: 屬性賦值后,會執行該方法初始化靜態成員* @Param: []* @return: void* @Author: zlf* @Date: 2021/3/22*/@Overridepublic void afterPropertiesSet() throws Exception {END_POINT = endPoint;KEY_ID = keyId;KEY_SECRET = keySecret;BUCKET_NAME = bucketName;} }OssController
package com.zlf.oss.Controller;import com.zlf.commonutils.Response.R; import com.zlf.oss.service.OssService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile;import java.io.IOException;/*** Created with IntelliJ IDEA.** @Auther: zlf* @Date: 2021/03/22/20:16* @Description: 阿里云oss 上傳文件*/ @RestController @RequestMapping("/eduOss/fileOss") @CrossOrigin @Api(description = "oss上傳接口") public class OssController {@Autowiredprivate OssService ossService;/*** @Description: 上傳頭像* @Param: [file]* @return: com.zlf.commonutils.Response.R* @Author: zlf* @Date: 2021/3/22*/@PostMapping("uploadFile")@ApiOperation("上傳文件")public R uploadOssFile(@ApiParam(name = "file",value = "文件") MultipartFile file) {//獲取上傳對象String url = null;try {url = ossService.uploadFileAvatar(file);} catch (IOException e) {e.printStackTrace();}return R.ok().data("url",url);} }OssService
package com.zlf.oss.service.impl;import com.aliyun.oss.OSS; import com.aliyun.oss.OSSClient; import com.aliyun.oss.OSSClientBuilder; import com.zlf.oss.service.OssService; import com.zlf.oss.utils.ConstantPropertiesUtils; import com.zlf.servicebase.exceptionHandler.GlobalException; import org.joda.time.DateTime; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile;import java.io.*; import java.util.UUID;/*** Created with IntelliJ IDEA.** @Auther: zlf* @Date: 2021/03/22/20:15* @Description:*/ @Service public class OssServiceImpl implements OssService {/*** @Description: 上傳文件到阿里云oss* @Param: [file]* @return: 文件 url* @Author: zlf* @Date: 2021/3/22*/@Overridepublic String uploadFileAvatar(MultipartFile file) {// yourEndpoint填寫Bucket所在地域對應的Endpoint。以華東1(杭州)為例,Endpoint填寫為https://oss-cn-hangzhou.aliyuncs.com。String endpoint = ConstantPropertiesUtils.END_POINT;// 阿里云賬號AccessKey擁有所有API的訪問權限,風險很高。強烈建議您創建并使用RAM用戶進行API訪問或日常運維,請登錄RAM控制臺創建RAM用戶。String accessKeyId = ConstantPropertiesUtils.KEY_ID;String accessKeySecret = ConstantPropertiesUtils.KEY_SECRET;String bucketName = ConstantPropertiesUtils.BUCKET_NAME;try{// 創建OSSClient實例。OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);// 填寫本地文件的完整路徑。如果未指定本地路徑,則默認從示例程序所屬項目對應本地路徑中上傳文件流。InputStream inputStream = file.getInputStream();// 獲取文件名稱String fileName = file.getOriginalFilename();// 在文件名稱中添加一個唯一的值String uuid = UUID.randomUUID().toString().replaceAll("-", "");fileName = uuid + fileName;// 按照時間日期進行分類 如 / 2021/03/22/xxx.jpgString datePath = new DateTime().toString("yyyy/MM/dd");fileName = datePath +"/"+ fileName;// 填寫Bucket名稱和Object完整路徑。Object完整路徑中不能包含Bucket名稱。以及上傳文件的文件流ossClient.putObject(bucketName, fileName, inputStream);// 關閉OSSClient。ossClient.shutdown();//把上傳路徑返回 (手動拼接返回)//模板 https://edu-xiuyuan.oss-cn-beijing.aliyuncs.com/2021/03/20/%E6%96%B0%E6%A1%93%E7%BB%93%E8%A1%A3.pngString url = "https://"+ bucketName +"."+ endpoint + "/" +fileName;return url;}catch (Exception e){e.printStackTrace();return null;}} }詳細的Api接口參考官方文檔
效果
結尾
其他功能的實現請參考官方文檔。
總結
以上是生活随笔為你收集整理的使用阿里云对象存储OSS收藏老婆新垣结衣日常照的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android 切换字体崩溃,andro
- 下一篇: Maven多模块打包