java后臺(tái)接受到圖片后保存方法
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ú)立與可移植性、多線程、動(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分頁(yè)查詢(xún)--分頁(yè)顯示(實(shí)例講解)
下面小編就為大家?guī)?lái)一篇Java分頁(yè)查詢(xún)--分頁(yè)顯示(實(shí)例講解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08
Java實(shí)現(xiàn)讀取Word模板文檔并替換內(nèi)容生成新文檔
在實(shí)際開(kāi)發(fā)中,經(jīng)常會(huì)遇到需要根據(jù) Word 模板生成特定文檔的需求,下面小編就來(lái)為大家介紹一下如何使用 Apache POI 庫(kù)來(lái)讀取 Word 模板文檔,然后替換其中的指定內(nèi)容最后生成新的文檔吧2025-02-02
SpringBoot中快速實(shí)現(xiàn)郵箱發(fā)送代碼解析
這篇文章主要介紹了SpringBoot中快速實(shí)現(xiàn)郵箱發(fā)送代碼解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08
基于Feign傳輸對(duì)象無(wú)法接收參數(shù)的問(wèn)題
這篇文章主要介紹了基于Feign傳輸對(duì)象無(wú)法接收參數(shù)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03
Java實(shí)現(xiàn)定時(shí)器的4種方法超全總結(jié)
對(duì)于一些特殊的代碼是需要定時(shí)執(zhí)行的,下面來(lái)看看定時(shí)器該如何編寫(xiě)吧,下面這篇文章主要給大家介紹了關(guān)于Java實(shí)現(xiàn)定時(shí)器的4種方法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05
java ArrayBlockingQueue的方法及缺點(diǎn)分析
在本篇內(nèi)容里小編給大家整理的是一篇關(guān)于java ArrayBlockingQueue的方法及缺點(diǎn)分析,對(duì)此有興趣的朋友們可以跟著學(xué)習(xí)下。2021-01-01
Java自定義實(shí)現(xiàn)equals()方法過(guò)程解析
這篇文章主要介紹了Java自定義實(shí)現(xiàn)equals()方法過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02
java實(shí)現(xiàn)word文件轉(zhuǎn)html文件
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)word文件轉(zhuǎn)html文件的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03

