欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot 利用MultipartFile上傳本地圖片生成圖片鏈接的實(shí)現(xiàn)方法

 更新時(shí)間:2021年03月31日 10:33:16   作者:流螢點(diǎn)火  
這篇文章主要介紹了SpringBoot 利用MultipartFile上傳本地圖片生成圖片鏈接的實(shí)現(xiàn)方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

方法一

實(shí)現(xiàn)類:

 public String fileUpload(MultipartFile file) {
    if(file == null){
      return null;
    }
    String fileName = file.getOriginalFilename();
    fileName = FileUtil.renameToUUID(fileName);

    //自定義保存到本地路徑
    String uploadpath = "D:/image/";

    try{
      FileUtil.uploadFiles(file.getBytes(), uploadpath,fileName);

    }catch (Exception e){
      throw new SignException(001,"圖片上傳出錯(cuò)"+uploadpath);
    }
     //localhost:8080
    String url = "/static/" + fileName;
    return url;
  }

工具類:

public class FileUtil {
  //圖片上傳
  public static void uploadFiles(byte[] file, String filePath, String fileName) throws Exception {

    File targetFile = new File(filePath);

    if (!targetFile.exists()) {
      targetFile.mkdirs();
    }
    FileOutputStream out = new FileOutputStream(filePath + fileName);
    out.write(file);
    out.flush();
    out.close();

  }

  //創(chuàng)建新的文件名
  public static String renameToUUID(String fileName) {
    return UUID.randomUUID() + "." + fileName.substring(fileName.lastIndexOf(".") + 1);
  }
}

瀏覽器輸入ip地址端口號(hào)+自己的生成url就可以訪問(wèn)了:
localhost:8080/ + url

方法二:

配置文件

#=============文件上傳========#
# 文件訪問(wèn)路徑
file.path=/upload/**
# 靜態(tài)資源文件訪問(wèn)路徑
file.staticPath=/upload
#文件保存的絕對(duì)路徑
file.address=d://springbootimage/
#是否支持 multipart 上傳文件
spring.servlet.multipart.enabled=true
#最大支持文件大小
spring.servlet.multipart.max-file-size=30MB
#最大支持請(qǐng)求大小
spring.servlet.multipart.max-request-size=30MB
 //獲取圖片上傳的配置路徑
  @Value("${file.address}")
  String fileAdress;

  //用戶訪問(wèn)的圖片路徑
  @Value("${file.staticPath}")
  String upload;

  @RequestMapping("/upload")
  @ResponseBody
  public String upload(MultipartFile file){
    try {
      //定義上傳文件的前綴
      String pre = "";
      //保證文件上傳后 存到服務(wù)器的文件名的唯一性
      pre = UUID.randomUUID()+"";

      //獲取文件的后綴名
      String suffix = "";
      if(file != null){
        //.jpg
        String originalName = file.getOriginalFilename();
        suffix= originalName.substring(originalName.lastIndexOf(".")+1);
      }
      //文件名
      String fileName = pre+suffix;

      //定義 文件上傳的全路徑
      String filePath = fileAdress + "\\" + fileName ;

      //創(chuàng)建file對(duì)象
      File f = new File(filePath);
      //目錄是否存在,不存在則創(chuàng)建
      if(!f.isDirectory()){
        f.mkdirs();
      }
      //上傳文件
      file.transferTo(f);
      String url = upload+fileName ;
      return url;
    } catch (IOException e) {
      e.printStackTrace();
    }
    return "上傳失敗";
  }

到此這篇關(guān)于SpringBoot 利用MultipartFile上傳本地圖片生成圖片鏈接的實(shí)現(xiàn)方法的文章就介紹到這了,更多相關(guān)SpringBoot上傳本地圖片生成圖片鏈接內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java中幾種常用數(shù)據(jù)庫(kù)連接池的使用

    Java中幾種常用數(shù)據(jù)庫(kù)連接池的使用

    數(shù)據(jù)庫(kù)連接池在編寫應(yīng)用服務(wù)是經(jīng)常需要用到的模塊,太過(guò)頻繁的連接數(shù)據(jù)庫(kù)對(duì)服務(wù)性能來(lái)講是一個(gè)瓶頸,使用緩沖池技術(shù)可以來(lái)消除這個(gè)瓶頸,本文就來(lái)介紹Java常見(jiàn)的幾種,感興趣的可以了解一下
    2021-05-05
  • java Socket UDP實(shí)例詳解

    java Socket UDP實(shí)例詳解

    這篇文章主要介紹了java Socket UDP實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • Java使用jni清屏功能的實(shí)現(xiàn)(只針對(duì)cmd)

    Java使用jni清屏功能的實(shí)現(xiàn)(只針對(duì)cmd)

    JNI是Java Native Interface的縮寫,它提供了若干的API實(shí)現(xiàn)了Java和其他語(yǔ)言的通信(主要是C&C++)。這篇文章主要介紹了Java使用jni清屏功能的實(shí)現(xiàn)(只針對(duì)cmd) ,感興趣的朋友跟隨腳本之家小編一起學(xué)習(xí)吧
    2018-05-05
  • 在Java的Hibernate框架中使用SQL語(yǔ)句的簡(jiǎn)單介紹

    在Java的Hibernate框架中使用SQL語(yǔ)句的簡(jiǎn)單介紹

    這篇文章主要介紹了在Java的Hibernate框架中使用SQL語(yǔ)句的方法,Hibernate是Java的SSH三大web開(kāi)發(fā)框架之一,需要的朋友可以參考下
    2016-01-01
  • SpringBoot借助spring.factories文件跨模塊實(shí)例化Bean

    SpringBoot借助spring.factories文件跨模塊實(shí)例化Bean

    這篇文章主要介紹了SpringBoot借助spring.factories文件跨模塊實(shí)例化Bean,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,需要的小伙伴可以參考一下
    2022-04-04
  • Springboot詳解RocketMQ實(shí)現(xiàn)消息發(fā)送與接收流程

    Springboot詳解RocketMQ實(shí)現(xiàn)消息發(fā)送與接收流程

    這篇文章主要介紹了SpringBoot整合RocketMQ實(shí)現(xiàn)消息發(fā)送和接收功能,我們使用主流的SpringBoot框架整合RocketMQ來(lái)講解,使用方便快捷,本文分步驟給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06
  • 圖解Java經(jīng)典算法插入排序的原理與實(shí)現(xiàn)

    圖解Java經(jīng)典算法插入排序的原理與實(shí)現(xiàn)

    插入排序的算法描述是一種簡(jiǎn)單直觀的排序算法。其原理是通過(guò)構(gòu)建有序序列,對(duì)于未排序數(shù)據(jù),在已排序序列中從后向前掃描,找到相應(yīng)位置并插入。本文將用Java語(yǔ)言實(shí)現(xiàn)插入排序算法并進(jìn)行可視化,感興趣的可以了解一下
    2022-09-09
  • SpringBoot集成Swagger2實(shí)現(xiàn)Restful(類型轉(zhuǎn)換錯(cuò)誤解決辦法)

    SpringBoot集成Swagger2實(shí)現(xiàn)Restful(類型轉(zhuǎn)換錯(cuò)誤解決辦法)

    這篇文章主要介紹了SpringBoot集成Swagger2實(shí)現(xiàn)Restful(類型轉(zhuǎn)換錯(cuò)誤解決辦法),需要的朋友可以參考下
    2017-07-07
  • Java實(shí)現(xiàn)二分搜索樹的示例代碼

    Java實(shí)現(xiàn)二分搜索樹的示例代碼

    二分搜索樹是一顆二叉樹,二分搜索樹每個(gè)節(jié)點(diǎn)的左子樹的值都小于該節(jié)點(diǎn)的值,每個(gè)節(jié)點(diǎn)右子樹的值都大于該節(jié)點(diǎn)的值。本文將利用Java實(shí)現(xiàn)二分搜索樹,需要的可以參考一下
    2022-03-03
  • Installij IDEA install或clean項(xiàng)目的使用

    Installij IDEA install或clean項(xiàng)目的使用

    這篇文章主要介紹了Installij IDEA install或clean項(xiàng)目的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08

最新評(píng)論