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

java后臺(tái)接受到圖片后保存方法

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

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

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

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

第二步驟:主要功能實(shí)現(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 實(shí)現(xiàn)

UploadController 主要分為3部分

1.1 調(diào)整頁(yè)面請(qǐng)求goUploadImg

1.2 上傳請(qǐng)求方法uploadImg

1.3 存儲(chǔ)圖片方法uploadFile

@Controllerpublic class UploadController {  

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

@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:同時(shí)需要將上傳圖片的原始文件名和存儲(chǔ)文件名、以及關(guān)聯(lián)id存入一個(gè)數(shù)據(jù)表中。

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

public static String getUUID(){

    UUID uuid=UUID.randomUUID();

    String str = uuid.toString(); 

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

    return uuidStr;

   }

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

System.nanoTime() 

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

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

測(cè)試。

打開(kāi)頁(yè)面地址如下圖所示:

相關(guān)文章

  • 詳解JAVA 反射機(jī)制

    詳解JAVA 反射機(jī)制

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

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

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

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

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

    微服務(wù)Springcloud之Feign的基本使用

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

    Java利用跳躍表解決雙重隊(duì)列問(wèn)題詳解

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

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

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

    Java對(duì)比兩個(gè)實(shí)體的差異分析

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

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

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

    spring?boot獲取session的值為null問(wèn)題及解決方法

    我在登陸的時(shí)候,登陸成功后將name存進(jìn)了session,然后在獲取個(gè)人信息時(shí)取出session里的name的值為null,接下來(lái)通過(guò)本文給大家分享springboot獲取session的值為null問(wèn)題,需要的朋友可以參考下
    2023-05-05
  • 詳解Spring cloud使用Ribbon進(jìn)行Restful請(qǐng)求

    詳解Spring cloud使用Ribbon進(jìn)行Restful請(qǐng)求

    這篇文章主要介紹了詳解Spring cloud使用Ribbon進(jìn)行Restful請(qǐng)求,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04

最新評(píng)論