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

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

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

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

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

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

第二步驟:主要功能實現(xiàn)。springboot默認是集成springmvc,使用springboot和直接使用springmvc上傳是一樣的。springboot默認是集成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:同時需要將上傳圖片的原始文件名和存儲文件名、以及關聯(lián)id存入一個數(shù)據(jù)表中。

2.1 將存儲文件名設置為UUID,避免存儲文件名重復

public static String getUUID(){

    UUID uuid=UUID.randomUUID();

    String str = uuid.toString(); 

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

    return uuidStr;

   }

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

System.nanoTime() 

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

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

測試。

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

相關文章

  • 詳解JAVA 反射機制

    詳解JAVA 反射機制

    這篇文章主要介紹了JAVA 反射機制的相關知識,文中講解的非常細致,代碼幫助大家更好的理解學習,感興趣的朋友可以了解下
    2020-06-06
  • RabbitMQ安裝延遲消息插件的教程(超詳細)

    RabbitMQ安裝延遲消息插件的教程(超詳細)

    RabbitMQ是一個開源的消息隊列系統(tǒng),它支持多種協(xié)議和多種語言的客戶端,為了處理消息的延遲發(fā)送或消費,RabbitMQ本身并不直接提供內(nèi)置的延遲插件,所以本文給大家介紹了RabbitMQ安裝延遲消息插件的教程,需要的朋友可以參考下
    2024-06-06
  • Java中Set與List的關系與區(qū)別介紹

    Java中Set與List的關系與區(qū)別介紹

    這篇文章主要介紹了Java中Set與List的關系與區(qū)別介紹,本文總結(jié)它們兩個接口都是繼承自Collection、它們之間的存儲方式不一樣,需要的朋友可以參考下
    2015-03-03
  • 微服務Springcloud之Feign的基本使用

    微服務Springcloud之Feign的基本使用

    這篇文章主要介紹了微服務Springcloud之Feign的基本使用,Spring?Cloud集成Feign并對其進行了增強,使Feign支持了Spring?MVC注解,需要的朋友可以參考下
    2023-03-03
  • Java利用跳躍表解決雙重隊列問題詳解

    Java利用跳躍表解決雙重隊列問題詳解

    這篇文章主要為大家詳細介紹了Java如何利用跳躍表來解決雙重隊列的問題。本文通過一個簡單的例題進行了講解,感興趣的小伙伴可以了解一下
    2022-12-12
  • Java實現(xiàn)截圖小工具的完整代碼

    Java實現(xiàn)截圖小工具的完整代碼

    這篇文章主要介紹了Java實現(xiàn)截圖小工具的完整代碼,用Java的圖形用戶界面GUI技術寫了一個電腦截圖小工具,本程序代碼簡單,涉及到異常處理,事件處理,圖形用戶界面等,需要的朋友可以參考下
    2022-05-05
  • Java對比兩個實體的差異分析

    Java對比兩個實體的差異分析

    這篇文章主要介紹了Java對比兩個實體的差異分析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Java Socket使用加密協(xié)議進行傳輸對象的方法

    Java Socket使用加密協(xié)議進行傳輸對象的方法

    這篇文章主要介紹了Java Socket使用加密協(xié)議進行傳輸對象的方法,結(jié)合實例形式分析了java socket加密協(xié)議相關接口與類的調(diào)用方法,以及服務器、客戶端實現(xiàn)技巧,需要的朋友可以參考下
    2017-06-06
  • spring?boot獲取session的值為null問題及解決方法

    spring?boot獲取session的值為null問題及解決方法

    我在登陸的時候,登陸成功后將name存進了session,然后在獲取個人信息時取出session里的name的值為null,接下來通過本文給大家分享springboot獲取session的值為null問題,需要的朋友可以參考下
    2023-05-05
  • 詳解Spring cloud使用Ribbon進行Restful請求

    詳解Spring cloud使用Ribbon進行Restful請求

    這篇文章主要介紹了詳解Spring cloud使用Ribbon進行Restful請求,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04

最新評論