日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Springboot集成七牛云,实现图片上传功能

發布時間:2023/12/14 javascript 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Springboot集成七牛云,实现图片上传功能 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

七牛云的使用

1、進入官網,注冊一個賬號

2、找到對象存儲

3、新建存儲空間

4、管理存儲空間

5、到此基本操作就完成了,接下來我們要在項目中使用

  • 方式一:官方的幫助文檔,很詳細:

步驟一:找到開發者中心

步驟二:選擇對象存儲

步驟三:找到Java的SDK

可以看到我們的官網非常詳細!

  • 方式二:這里給大家封裝好了一個工具類,maven項目可以直接用

官網是靜態工具類,這里是注入到IOC容器當中!

1、導入pom依賴

<dependency><groupId>com.qiniu</groupId><artifactId>qiniu-java-sdk</artifactId><version>[7.7.0, 7.7.99]</version></dependency>

2、工具類QiniuUtils

@Component public class QiniuUtils {public static final String url = "http://測試域名/"; //七牛云圖片服務器域名(有效1個月)@Value("${qiniu.accessKey}")private String accessKey; //類似賬號,在七牛云個人空間---密鑰管理獲取@Value("${qiniu.accessSecretKey}")private String accessSecretKey; //類似密碼public boolean upload(MultipartFile file, String fileName){//構造一個帶指定 Region 對象的配置類Configuration cfg = new Configuration(Region.huabei()); //根據自己的對象空間的地址選(華為)//...其他參數參考類注釋UploadManager uploadManager = new UploadManager(cfg);//...生成上傳憑證,然后準備上傳 (個人存儲空間名字)String bucket = "個人存儲空間名字";//默認不指定key的情況下,以文件內容的hash值作為文件名try {byte[] uploadBytes = file.getBytes();Auth auth = Auth.create(accessKey, accessSecretKey);String upToken = auth.uploadToken(bucket);Response response = uploadManager.put(uploadBytes, fileName, upToken);//解析上傳成功的結果DefaultPutRet putRet = JSON.parseObject(response.bodyString(), DefaultPutRet.class);return true;} catch (Exception ex) {ex.printStackTrace();}return false;} }

3、我們的兩個密鑰是配置在properties中,如下

4、還是在springboot的配置文件中

pringboot默認只上傳1M的圖片大小所以修改文件配置

# 上傳文件總的最大值 spring.servlet.multipart.max-request-size=20MB # 單個文件的最大值 spring.servlet.multipart.max-file-size=2MB

5、使用QiniuUtils工具類

@RestController @RequestMapping("/upload") public class UploadController {@AutowiredQiniuUtils qiniuUtils ;@PostMappingpublic Result upload(@RequestParam("image") MultipartFile file){//原始文件名稱比如 aa.pngString originalFilename = file.getOriginalFilename() ;//將原始名稱修改為:唯一文件名稱String fileName = UUID.randomUUID().toString() + "." + StringUtils.substringAfterLast(originalFilename, ".");//上傳文件,上傳到哪呢?圖片服務器七牛云//把圖片發放到距離圖片最近的服務器上,降低我們自身服務器的帶寬消耗boolean upload = qiniuUtils.upload(file, fileName);if (upload){//上傳成功return Result.success(QiniuUtils.url+fileName) ;}return Result.fail(20001,"圖片 上傳失敗!") ;} }

我們調用該接口給他一個文件就完成使用了,無論是網絡還是本地,都會保存在七牛云服務器當中!

效果:上傳本地或網絡圖片,會生成一個唯一圖片在七牛云服務器中的地址!

結束

總結

以上是生活随笔為你收集整理的Springboot集成七牛云,实现图片上传功能的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。