日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

themyleaf 图片上传_javaEE --springboot #实现图片上传和回显 #单文件上传 #多文件上传 #ajax异步文件上传 (非常详细,从创建项目开始)...

發(fā)布時(shí)間:2023/12/10 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 themyleaf 图片上传_javaEE --springboot #实现图片上传和回显 #单文件上传 #多文件上传 #ajax异步文件上传 (非常详细,从创建项目开始)... 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

實(shí)現(xiàn)文件上傳和回顯

1、新建一個(gè)SpringBoot項(xiàng)目,選擇 Spring Web 和 thymeleaf?依賴 。pow.xml文件下的依賴如下

2、根據(jù)下圖,創(chuàng)建如下文件

3、直接上代碼

配置文件 application.xml

server:

port: 8005

file:

upload:

path: F://upload/

relationImg: /images/

配置類 MyWenMvcConfigurer.java

/**資源映射路徑*/@Configurationpublic class MyWebMvcConfigurer implementsWebMvcConfigurer {/**保存的真實(shí)地址*/@Value("${file.upload.path}")

String sysPath;/**請求的相對地址*/@Value("${file.upload.relationImg}")

String relationImg;

@Overridepublic voidaddResourceHandlers(ResourceHandlerRegistry registry) {/**將相對地址映射到真實(shí)地址*/registry.addResourceHandler(relationImg+"**").addResourceLocations("file:/"+sysPath+relationImg);

}

}

服務(wù)層接口 UploadService.java

public interfaceUploadService {/**保存文件并返回文件的相對路徑*/

publicString uploadImg(MultipartFile file);

}

服務(wù)層實(shí)現(xiàn)類 UploadServiceImpl.java

@Servicepublic class UploadServiceImpl implementsUploadService {

@Value("${file.upload.path}")

String sysPath;

@Value("${file.upload.relationImg}")

String relationImg;

@OverridepublicString uploadImg(MultipartFile file) {//uuid生成的唯一前綴 + 上傳文件名 構(gòu)成唯一的新文件名

String fileName= UUID.randomUUID()+"_"+file.getOriginalFilename();//文件保存路徑

String path=sysPath+relationImg;//新建文件filepath

File filepath=newFile(path,fileName);//判斷路徑是否存在,如果不存在就創(chuàng)建一個(gè)

if(!filepath.getParentFile().exists()){

filepath.getParentFile().mkdirs();

}try{//將上傳的文件file寫入文件filepath

file.transferTo(new File(path+File.separator+fileName));

}catch(IOException e){

e.printStackTrace();

}//將請求文件的相對路徑返回

return relationImg+fileName;

}

}

控制類 UploadController.java

@Controllerpublic classUploadController {

@Autowired

UploadService uploadService;

@GetMapping("/uploadImg")publicString getuploadImg(){return "/upload/uploadImg";

}

@PostMapping("/uploadImg")public String uploadImg(@RequestParam("file")MultipartFile file, Model model){

String imgUrl=uploadService.uploadImg(file);

model.addAttribute("imgUrl",imgUrl);return "/upload/uploadImg";

}

}

視圖層 uploadImg.html

圖片上傳并回顯圖片地址:[[${imgUrl}]]

效果圖:

真實(shí)保存路徑:F:\upload\images

注意下面兩張圖的名字,第一張多了的前綴就是?UUID.randomUUID() 生成的,為了保證文件名的唯一性

單文件上傳

控制層 FileController.java

@Controllerpublic classFileController {//單文件上傳頁面跳轉(zhuǎn)

@GetMapping("/singleUpload")publicString singleUpload(){return "singleUpload";

}//單文件上傳管理

@PostMapping("/singleUploadFile")public String singleUploadFile(HttpServletRequest httpServletRequest, MultipartFile file, Model model) throwsIOException {//獲取文件名以及后綴名

String fileName=file.getOriginalFilename();//重新生成文件名(根據(jù)具體情況生成對應(yīng)文件名)

fileName= UUID.randomUUID()+"_"+fileName;//指定上傳文件本地存儲(chǔ)目錄,不存在需要提前創(chuàng)建

String dirPath="F:/file/";

File filePath=newFile(dirPath);//指定上傳文件本地存儲(chǔ)目錄,不存在需要提前創(chuàng)建

if(!filePath.exists()){

filePath.mkdirs();

}try{//將文件寫入磁盤

file.transferTo(newFile(dirPath,fileName));

model.addAttribute("uploadStatus","上傳成功");

}catch(Exception e){

e.printStackTrace();

model.addAttribute("uploadStatus","上傳失敗:"+e.getMessage());

}//將帶上傳狀態(tài)信息回調(diào)到文件上傳頁面

return "singleUpload";

}

}

singleUpload.html

單文件上傳

上傳成功!

總結(jié)

以上是生活随笔為你收集整理的themyleaf 图片上传_javaEE --springboot #实现图片上传和回显 #单文件上传 #多文件上传 #ajax异步文件上传 (非常详细,从创建项目开始)...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。