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

java后臺接受到圖片后保存方法

 更新時間:2019年06月10日 08:27:31   投稿:laozhang  
在本篇文章里小編給大家整理了關(guān)于java后臺接受到圖片后怎么保存的相關(guān)知識點,需要的朋友們參考學(xué)習(xí)下。

Java是一門面向?qū)ο缶幊陶Z言,不僅吸收了C++語言的各種優(yōu)點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特征。Java語言作為靜態(tài)面向?qū)ο缶幊陶Z言的代表,極好地實現(xiàn)了面向?qū)ο罄碚?,允許程序員以優(yōu)雅的思維方式進行復(fù)雜的編程  。

Java具有簡單性、面向?qū)ο蟆⒎植际?、健壯性、安全性、平臺獨立與可移植性、多線程、動態(tài)性等特點 。Java可以編寫桌面應(yīng)用程序、Web應(yīng)用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應(yīng)用程序等 。

  • 第一步:借助于springmvc框架的平臺實現(xiàn)。
  • 第二步:java網(wǎng)頁下載功能怎么獲取文件名。
  • 第三步:前端如何實現(xiàn)突破預(yù)覽效果。

第二步驟:主要功能實現(xiàn)。springboot默認(rèn)是集成springmvc,使用springboot和直接使用springmvc上傳是一樣的。springboot默認(rèn)是集成springmvc,使用springboot和直接使用springmvc上傳是一樣的。

2、前端代碼:

1、具體代碼如下所示:

此處直接使用的表單同步提交。

<!DOCTYPE html>

<html>




<head>

<title>圖片上傳</title>

<meta name="keywords" content="keyword1,keyword2,keyword3"></meta>

<meta name="description" content="this is my page"></meta>

<meta name="content-type" content="text/html; charset=UTF-8"></meta>

</head>




<body>

<form enctype="multipart/form-data" method="post" action="/testUploadimg"> 

圖片:<input type="file" name="file" /><br/> 

<input type="submit" value="上傳" />.

</form>

</body>




</html>

 

控制器UploadController 實現(xiàn)

UploadController 主要分為3部分

1.1 調(diào)整頁面請求goUploadImg

1.2 上傳請求方法uploadImg

1.3 存儲圖片方法uploadFile

@Controllerpublic class UploadController {  

//跳轉(zhuǎn)到上傳文件的頁面  

@RequestMapping(value = "/gouploadimg", method = RequestMethod.GET)  

public String goUploadImg() {    

//跳轉(zhuǎn)到 templates 目錄下的 uploadimg.html    

return "uploadimg";  

}  

//處理文件上傳  

@ResponseBody //返回json數(shù)據(jù)  

@RequestMapping(value = "/testUploadimg", method = RequestMethod.POST)  

public String uploadImg(@RequestParam("file") MultipartFile file,              

HttpServletRequest request) {    

tring contentType = file.getContentType();    

String fileName = file.getOriginalFilename();    

String filePath = "D:/img";    

if (file.isEmpty()) {      

return "文件為空!";    

}    

try {      

uploadFile(file.getBytes(), filePath, fileName);    

} catch (Exception e) {      

// TODO: handle exception    

}    

//返回json    

return "上傳成功";  

}  

public static void uploadFile(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();  

}

}

2:同時需要將上傳圖片的原始文件名和存儲文件名、以及關(guān)聯(lián)id存入一個數(shù)據(jù)表中。

2.1 將存儲文件名設(shè)置為UUID,避免存儲文件名重復(fù)

public static String getUUID(){

    UUID uuid=UUID.randomUUID();

    String str = uuid.toString(); 

    String uuidStr=str.replace("-", "");

    return uuidStr;

   }

2.2 將存儲文件名按照時間生成,避免存儲文件名重復(fù)

System.nanoTime() 

該函數(shù)是返回納秒的。1毫秒=1納秒*1000*1000
如:long time1=System.nanoTime();

2.3 或者借助于SimpleDateFormat 將Date格式化到毫秒也可以解決文件重名的問題。

測試。

打開頁面地址如下圖所示:

相關(guān)文章

  • 深入理解Java設(shè)計模式之建造者模式

    深入理解Java設(shè)計模式之建造者模式

    這篇文章主要介紹了JAVA設(shè)計模式之建造者模式的的相關(guān)資料,文中示例代碼非常詳細,供X大家參考和學(xué)習(xí),感興趣的朋友可以了解下
    2021-11-11
  • Java分頁查詢--分頁顯示(實例講解)

    Java分頁查詢--分頁顯示(實例講解)

    下面小編就為大家?guī)硪黄狫ava分頁查詢--分頁顯示(實例講解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • Java實現(xiàn)讀取Word模板文檔并替換內(nèi)容生成新文檔

    Java實現(xiàn)讀取Word模板文檔并替換內(nèi)容生成新文檔

    在實際開發(fā)中,經(jīng)常會遇到需要根據(jù) Word 模板生成特定文檔的需求,下面小編就來為大家介紹一下如何使用 Apache POI 庫來讀取 Word 模板文檔,然后替換其中的指定內(nèi)容最后生成新的文檔吧
    2025-02-02
  • SpringBoot中快速實現(xiàn)郵箱發(fā)送代碼解析

    SpringBoot中快速實現(xiàn)郵箱發(fā)送代碼解析

    這篇文章主要介紹了SpringBoot中快速實現(xiàn)郵箱發(fā)送代碼解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-08-08
  • 基于Feign傳輸對象無法接收參數(shù)的問題

    基于Feign傳輸對象無法接收參數(shù)的問題

    這篇文章主要介紹了基于Feign傳輸對象無法接收參數(shù)的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Java中加鎖的方式代碼示例

    Java中加鎖的方式代碼示例

    這篇文章主要給大家介紹了關(guān)于Java中加鎖方式的相關(guān)資料,我們平時開發(fā)的過程中難免遇到多線程操作共享資源的時候,這時候一般可以通過加鎖的方式保證操作的安全性,需要的朋友可以參考下
    2023-09-09
  • Java實現(xiàn)定時器的4種方法超全總結(jié)

    Java實現(xiàn)定時器的4種方法超全總結(jié)

    對于一些特殊的代碼是需要定時執(zhí)行的,下面來看看定時器該如何編寫吧,下面這篇文章主要給大家介紹了關(guān)于Java實現(xiàn)定時器的4種方法,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-05-05
  • java ArrayBlockingQueue的方法及缺點分析

    java ArrayBlockingQueue的方法及缺點分析

    在本篇內(nèi)容里小編給大家整理的是一篇關(guān)于java ArrayBlockingQueue的方法及缺點分析,對此有興趣的朋友們可以跟著學(xué)習(xí)下。
    2021-01-01
  • Java自定義實現(xiàn)equals()方法過程解析

    Java自定義實現(xiàn)equals()方法過程解析

    這篇文章主要介紹了Java自定義實現(xiàn)equals()方法過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-02-02
  • java實現(xiàn)word文件轉(zhuǎn)html文件

    java實現(xiàn)word文件轉(zhuǎn)html文件

    這篇文章主要為大家詳細介紹了java實現(xiàn)word文件轉(zhuǎn)html文件的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03

最新評論

北海市| 宿松县| 微博| 遂宁市| 太谷县| 光山县| 会理县| 玛多县| 绥江县| 田林县| 广宁县| 台前县| 龙口市| 襄樊市| 临沭县| 兴城市| 新干县| 磴口县| 通化县| 合水县| 波密县| 商丘市| 泰顺县| 霸州市| 普格县| 阿拉善盟| 大埔区| 乐至县| 靖宇县| 易门县| 嵊州市| 喀喇沁旗| 镇坪县| 岳阳市| 武宣县| 咸宁市| 时尚| 洛阳市| 江达县| 家居| 嘉祥县|