日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Spring Boot整合web層實現過程詳解

瀏覽:18日期:2023-09-12 09:09:44

Spring Boot中對Spring MVC的文件上傳是一脈相傳的,我們雙擊shift去搜CommonsMultipartResolver這個類,它是文件上傳的一個實現類。我們先看一下源碼:

Spring Boot整合web層實現過程詳解

我們可以看到它是MultipartResolver的實現類,我們再Ctrl+H,就可以看到右側MultipartResolver的兩個實現類。第一個實現類在servlet3.0之后,什么都不用加,就可以直接使用。第二個實現類的兼容性要好一些,早期的servlet也可以使用,但需要自己額外的加依賴。那么在Spring Boot中,我們就可以直接使用第一個實現類去完成文件上傳。

只需要一個controller和一個靜態html文件,就可以,先看一下代碼

package com.zl.upload;import org.springframework.web.bind.annotation.PostMapping;import org.springframework.web.bind.annotation.RestController;import org.springframework.web.multipart.MultipartFile;import javax.servlet.http.HttpServletRequest;import java.io.File;import java.io.IOException;import java.text.SimpleDateFormat;import java.util.Date;import java.util.UUID;import java.util.logging.SimpleFormatter;@RestControllerpublic class UploadController { SimpleDateFormat ss=new SimpleDateFormat('yyyy/MM/dd/'); @PostMapping('/upload') //HttpServletRequest request獲取緩存地址,一般這里使用圖片服務器 public String upload(MultipartFile multipartFile , HttpServletRequest request){ //圖片保存在項目的運行路徑下 String format = ss.format(new Date()); String realpath = request.getServletContext().getRealPath('img') + format; //創建保存的文件夾 File f = new File(realpath); if(!f.exists()){ f.mkdirs(); } //因為文件名可能會重復,所以要對文件名進行修改 String oldName = multipartFile.getOriginalFilename(); System.out.println(oldName); String newName = UUID.randomUUID().toString() + oldName.substring(oldName.lastIndexOf('.')); //保存圖片 try { multipartFile.transferTo(new File(f,newName)); //獲取路徑,動態獲取,因為有可能是http,也有可能是HTTPS String path = request.getScheme() + '://' + request.getServerName() + ':' + request.getServerPort() + '/img' + format + newName; return path ; } catch (IOException e) { e.printStackTrace(); } return 'error'; }}

第一步,創建文件的存放地址,和路徑

第二步,修改文件名

第三步,保存文件(文件件,和文件名)

后端的處理就完了,我們看一下前臺如何處理

<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <title>文件上傳</title></head><body><form action='/upload' method='post' enctype='multipart/form-data'> <input type='file' name='multipartFile'> <input type='submit' value='提交'></form></body></html>

前端處理很簡單,就是開啟文件上傳通道就可以了。

但是這種做法在前后端分離開發中很少使用,接下來我們看一下用ajax如何實現。

后端的不用變,前端的改成ajax的:

<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <title>ajax文件上傳</title> <script src='http://www.b3g6.com/bcjs/jquery-3.4.1.min.js'></script></head><script> function uploads() { alert('ss'); var multipartFile=$('#file')[0].files[0]; alert(multipartFile); var formData=new FormData(); formData.append('multipartFile',multipartFile); $.ajax({ type:’post’, url:’/upload’, processData:false, contentType:false, data:formData, success:function (msg) {$('#result').html(msg); } } ) }</script><body><form enctype='multipart/form-data'><input type='file' id='file'><input type='button' value='上傳' onclick='uploads()'></form><div id='result'></div></body></html>

這個是單文件上傳,如果是多文件上傳,改如何處理呢?

后端處理

@PostMapping('/uploads') //HttpServletRequest request獲取緩存地址,一般這里使用圖片服務器 public String uploads(MultipartFile [] multipartFiles , HttpServletRequest request){ //圖片保存在項目的運行路徑下 String format = ss.format(new Date()); String realpath = request.getServletContext().getRealPath('img') + format; //創建保存的文件夾 File f = new File(realpath); if(!f.exists()){ f.mkdirs(); } //用for循環獲取每個文件 for (MultipartFile file: multipartFiles){ String oldName = file.getOriginalFilename(); String newName = UUID.randomUUID().toString() + oldName.substring(oldName.lastIndexOf('.')); //保存圖片 try {file.transferTo(new File(f,newName));//獲取路徑,動態獲取,因為有可能是http,也有可能是HTTPSString path = request.getScheme() + '://' + request.getServerName() + ':' + request.getServerPort() + '/img' + format + newName;System.out.println(path); } catch (IOException e) {e.printStackTrace(); } } //因為文件名可能會重復,所以要對文件名進行修改 return 'success'; }

前端處理:

<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <title>文件上傳</title></head><body><form action='/uploads' method='post' enctype='multipart/form-data'> <input type='file' name='multipartFiles' multiple> <input type='submit' value='提交'></form></body></html>

就是把前端拿到的文件存在數組里,去遍歷每一個,和單文件的做法一致。以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Spring
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美综合另类| 日本aⅴ精品一区二区三区| 日本久久二区| 六月天综合网| 日韩在线观看一区二区| 性色av一区二区怡红| 午夜欧美视频| 免费看欧美美女黄的网站| 中文字幕亚洲影视| 日韩av资源网| 国产精品115| 岛国av在线播放| 久久精品国内一区二区三区水蜜桃| 99精品视频在线观看免费播放| 欧美日韩国产高清电影| 国产亚洲精品久久久久婷婷瑜伽| 亚洲免费观看| 视频一区视频二区中文| 美女网站久久| 日韩精品成人在线观看| 国产精品久久久久久久免费软件 | 久久久久久久久丰满| 亚洲福利专区| 蜜桃久久久久久| 日韩av电影一区| 精品国产黄a∨片高清在线| 在线看片国产福利你懂的| 天堂网在线观看国产精品| 一区二区国产在线观看| 国产丝袜一区| 深夜福利视频一区二区| 日韩在线高清| 亚洲一区欧美激情| 日韩精品社区| 国产精品精品| 久久国产精品99国产| 国产情侣一区在线| 中文字幕一区久| 欧美日韩国产亚洲一区| 日韩精品第二页| sm久久捆绑调教精品一区| 夜久久久久久| 国产精品宾馆| 99热精品久久| 日本v片在线高清不卡在线观看| 国产精品66| 99精品视频在线| 日韩精品欧美大片| 秋霞国产精品| 日韩av一区二区在线影视| 国产乱码午夜在线视频| 蜜桃视频在线观看一区| sm捆绑调教国产免费网站在线观看| 99亚洲视频| 精品黄色一级片| 亚洲一区观看| 久久久久久夜| 日韩av在线免费观看不卡| 91精品国产91久久久久久黑人| 日本免费新一区视频| 亚洲91久久| 国产一卡不卡| 蜜桃成人av| 麻豆一区二区在线| 国产亚洲网站| 精品视频高潮| 亚洲精品影视| 美女网站一区| 国产第一亚洲| 欧美一级全黄| 樱桃成人精品视频在线播放| 久久久91麻豆精品国产一区| 男女精品网站| 久久人人97超碰国产公开结果| 国产乱子精品一区二区在线观看 | 午夜av不卡| 日韩亚洲精品在线观看| 99精品视频精品精品视频| 麻豆国产欧美日韩综合精品二区| 老司机精品久久| 天堂8中文在线最新版在线| 日韩二区三区四区| 日本欧洲一区二区| 欧美亚洲精品在线| 成人午夜网址| 国产日韩亚洲| 午夜性色一区二区三区免费视频| 色88888久久久久久影院| 国产精品一区高清| 视频一区二区欧美| 日韩大片在线播放| 嫩呦国产一区二区三区av| 午夜精品福利影院| 亚洲激情二区| 久久久久国产| 亚洲午夜天堂| 日韩av自拍| 久久wwww| 国产探花一区在线观看| 日韩三区四区| 日本亚洲视频在线| 免费观看在线色综合| 午夜欧美在线| 99久久九九| 日韩一区二区三区免费| 国产麻豆一区二区三区精品视频| 亚洲精品日韩久久| 在线精品视频一区| 首页欧美精品中文字幕| 一区在线免费观看| 免费av一区二区三区四区| 成人免费电影网址| 久久精品播放| 亚洲v在线看| 99久久99视频只有精品| 久久国产欧美| 欧美sss在线视频| 视频二区不卡| 久久中文字幕av| 亚洲高清成人| 夜鲁夜鲁夜鲁视频在线播放| 91亚洲成人| 五月天av在线| 欧美成人午夜| 在线视频精品| 亚洲一区久久| 亚洲精品乱码| 欧美日韩中文| 欧美精品二区| 国产91欧美| 日韩精品1区| 欧美日韩一区二区综合| 午夜久久福利| 亚洲欧美日本国产| 欧美一区=区三区| 欧美亚洲综合视频| 欧美激情福利| 青青青免费在线视频| 日韩精品水蜜桃| 性欧美69xoxoxoxo| 亚洲欧洲免费| 久久av电影| 92国产精品| 欧美日韩视频| 天堂va欧美ⅴa亚洲va一国产| 国产欧美三级| 国产成人77亚洲精品www| 日韩av免费| 丝瓜av网站精品一区二区| 人人爱人人干婷婷丁香亚洲| 国产精品chinese| 久久久夜精品| 视频精品一区| 国际精品欧美精品| 国产一区观看| 日本va欧美va瓶| 国产精品xx| 麻豆91精品| 欧美国产视频| 欧美午夜精品一区二区三区电影| 婷婷成人综合| 欧美天堂亚洲电影院在线观看| 亚洲一区二区毛片| 青青草国产成人99久久| 高清日韩中文字幕| 亚洲www啪成人一区二区| 噜噜噜躁狠狠躁狠狠精品视频| 国产精品一区二区三区av| 日韩免费视频| 亚洲91在线| 91精品韩国| 四虎精品一区二区免费| 国产夫妻在线| 亚洲精品日韩久久| 成年男女免费视频网站不卡| 国产亚洲精品v| 久久av网址| 午夜国产一区二区| 国产精品亚洲欧美| 欧美+亚洲+精品+三区| 中文字幕成人| 国产一区二区三区四区五区 | 日韩在线电影| 亚洲三级欧美| 亚洲精品少妇| 日韩三区在线| 国产色噜噜噜91在线精品| 亚洲国内精品| 美女久久精品| 免费久久99精品国产| 国产一区丝袜| 亚洲欧美在线专区| 久久免费高清| 国产毛片一区二区三区 | 中文欧美日韩| 快播电影网址老女人久久| 成人污污视频| 精品精品国产三级a∨在线| 国产999精品在线观看| 国产成人久久精品麻豆二区|