最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

圖解Springboot集成七牛云并實(shí)現(xiàn)圖片上傳功能過程

 更新時(shí)間:2021年11月24日 15:00:58   作者:爪洼ing  
在實(shí)際開發(fā)中 ,基本都會有應(yīng)用到文件上傳的場景,但隨著或多或少的需求問題,之前有在springboot上用過七牛云實(shí)現(xiàn)圖片上傳,今天因?yàn)槟承┰蛴种匦率褂昧讼缕吲T埔虼讼肟偨Y(jié)下七牛云

七牛云的使用

1、進(jìn)入官網(wǎng),注冊一個(gè)賬號

在這里插入圖片描述

2、找到對象存儲

在這里插入圖片描述

3、新建存儲空間

在這里插入圖片描述

4、管理存儲空間

在這里插入圖片描述

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

方式一:官方的幫助文檔,很詳細(xì):

步驟一:找到開發(fā)者中心

在這里插入圖片描述

步驟二:選擇對象存儲

在這里插入圖片描述

步驟三:找到Java的SDK

可以看到我們的官網(wǎng)非常詳細(xì)!

在這里插入圖片描述

方式二:這里給大家封裝好了一個(gè)工具類,maven項(xiàng)目可以直接用

官網(wǎng)是靜態(tài)工具類,這里是注入到IOC容器當(dāng)中!

1、導(dǎo)入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://測試域名/";  //七牛云圖片服務(wù)器域名(有效1個(gè)月)

    @Value("${qiniu.accessKey}")
    private  String accessKey;      //類似賬號,在七牛云個(gè)人空間---密鑰管理獲取
    @Value("${qiniu.accessSecretKey}")
    private  String accessSecretKey;   //類似密碼

    public boolean upload(MultipartFile file, String fileName){

        //構(gòu)造一個(gè)帶指定 Region 對象的配置類
        Configuration cfg = new Configuration(Region.huabei());  //根據(jù)自己的對象空間的地址選(華為)
        //...其他參數(shù)參考類注釋
        UploadManager uploadManager = new UploadManager(cfg);
        //...生成上傳憑證,然后準(zhǔn)備上傳 (個(gè)人存儲空間名字)
        String bucket = "個(gè)人存儲空間名字";
        //默認(rèn)不指定key的情況下,以文件內(nèi)容的hash值作為文件名
        try {
            byte[] uploadBytes = file.getBytes();
            Auth auth = Auth.create(accessKey, accessSecretKey);
            String upToken = auth.uploadToken(bucket);
                Response response = uploadManager.put(uploadBytes, fileName, upToken);
                //解析上傳成功的結(jié)果
                DefaultPutRet putRet = JSON.parseObject(response.bodyString(), DefaultPutRet.class);
                return true;
            } catch (Exception ex) {
                ex.printStackTrace();
            }
        return false;
    }
}

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

在這里插入圖片描述

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

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

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

5、使用QiniuUtils工具類

@RestController
@RequestMapping("/upload")
public class UploadController {

    @Autowired
    QiniuUtils qiniuUtils ;

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

        return Result.fail(20001,"圖片 上傳失敗!") ;
    }
}

我們調(diào)用該接口給他一個(gè)文件就完成使用了,無論是網(wǎng)絡(luò)還是本地,都會保存在七牛云服務(wù)器當(dāng)中!

在這里插入圖片描述

效果:上傳本地或網(wǎng)絡(luò)圖片,會生成一個(gè)唯一圖片在七牛云服務(wù)器中的地址!

在這里插入圖片描述

結(jié)束

到此這篇關(guān)于圖解Springboot集成七牛云并實(shí)現(xiàn)圖片上傳功能過程的文章就介紹到這了,更多相關(guān)Springboot 集成七牛云內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot整合logback的示例代碼

    SpringBoot整合logback的示例代碼

    Logback是由log4j創(chuàng)始人設(shè)計(jì)的又一個(gè)開源日志組件,logback分為三個(gè)模塊,在文章開頭給大家介紹的很明確,接下來通過本文重點(diǎn)介紹下SpringBoot整合logback的方法,需要的朋友可以參考下
    2022-04-04
  • Java中的異步回調(diào)問題

    Java中的異步回調(diào)問題

    這篇文章主要介紹了Java中的異步回調(diào)問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Java實(shí)現(xiàn)DES加密與解密,md5加密以及Java實(shí)現(xiàn)MD5加密解密類

    Java實(shí)現(xiàn)DES加密與解密,md5加密以及Java實(shí)現(xiàn)MD5加密解密類

    這篇文章主要介紹了Java實(shí)現(xiàn)DES加密與解密,md5加密以及Java實(shí)現(xiàn)MD5加密解密類 ,需要的朋友可以參考下
    2015-11-11
  • 一篇文章帶你深入了解Java基礎(chǔ)

    一篇文章帶你深入了解Java基礎(chǔ)

    這篇文章主要給大家介紹了關(guān)于Java中方法使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-08-08
  • java復(fù)制文件和java移動文件的示例分享

    java復(fù)制文件和java移動文件的示例分享

    本文主要介紹了java將文件夾下面的所有的jar文件拷貝到指定的文件夾下面的方法,需要的朋友可以參考下
    2014-02-02
  • 詳解springmvc控制登錄用戶session失效后跳轉(zhuǎn)登錄頁面

    詳解springmvc控制登錄用戶session失效后跳轉(zhuǎn)登錄頁面

    本篇文章主要介紹了springmvc控制登錄用戶session失效后跳轉(zhuǎn)登錄頁面,session一旦失效就需要重新登陸,有興趣的同學(xué)可以了解一下。
    2017-01-01
  • window下安裝和配置maven環(huán)境

    window下安裝和配置maven環(huán)境

    這篇文章主要為大家詳細(xì)介紹了window下安裝和配置maven環(huán)境的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • java 并發(fā)中的原子性與可視性實(shí)例詳解

    java 并發(fā)中的原子性與可視性實(shí)例詳解

    這篇文章主要介紹了java 并發(fā)中的原子性與可視性實(shí)例詳解的相關(guān)資料,原子性是說一個(gè)操作是否可分割。可見性是說操作結(jié)果其他線程是否可見。需要的朋友可以參考下
    2017-07-07
  • Spring與Dubbo搭建一個(gè)簡單的分布式詳情

    Spring與Dubbo搭建一個(gè)簡單的分布式詳情

    這篇文章主要介紹了Spring與Dubbo搭建一個(gè)簡單的分布式詳情,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-08-08
  • springboot配置logback日志管理過程詳解

    springboot配置logback日志管理過程詳解

    這篇文章主要介紹了springboot配置logback日志管理過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09

最新評論

喀喇| 汽车| 双鸭山市| 佛坪县| 怀柔区| 常山县| 马鞍山市| 宜兰市| 新化县| 额尔古纳市| 延庆县| 太湖县| 宜都市| 历史| 双辽市| 南昌市| 天柱县| 湾仔区| 石屏县| 府谷县| 独山县| 五台县| 巴楚县| 从江县| 庐江县| 阜南县| 锦州市| 永吉县| 靖边县| 石城县| 佛学| 昭苏县| 柘荣县| 新竹县| 新建县| 伊金霍洛旗| 综艺| 静宁县| 河源市| 张家口市| 申扎县|