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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java怎么定义图片公共路径_【Java】springboot配置图片访问路径

發布時間:2023/11/27 java 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java怎么定义图片公共路径_【Java】springboot配置图片访问路径 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

springboot如何配置,就可以在地址欄輸入http://localhost:9090/17AD93E86EB44287BA0D871A37017597.jpg就可以訪問到圖片

回答

需要添加下Springboot訪問靜態資源的Jar文件

org.springframework.boot

spring-boot-starter-thymeleaf

直接去掉這兩個配置就行,自動已經映射了,這個目錄本來就是靜態資源部署目錄

我之前做文件上傳的時候也想上傳到項目resources下,可以上傳上去,但是不能通過這樣的URL訪問到。

琢磨了半天,好像是因為SpringBoot項目啟動之后,它會在C盤的C:\Users\User\AppData\Local\Temp這個文件夾內創建一個新的服務器,每次重啟都會創建,所以每次重啟之后,就相當于是在一個新的服務器上部署了項目,之前上傳的文件都在另外一個服務器上,所以文件都沒有了。。。。重新上傳。

這是我的代碼:

private SimpleDateFormat simpleDateFormat = new SimpleDateFormat("\\yyyy\\MM\\dd");

public JsonResult uploadFile(MultipartFile file, HttpServletRequest request) {

//1.獲取項目根路徑,結果是:C:\Users\User\AppData\Local\Temp\tomcat-docbase.766171933481555296.8081,File.separator是系統分隔符

String rootPath = request.getSession().getServletContext().getRealPath(File.separator);

//2.拼接目錄,結果是: /images/2020/03/15

String directory = "\\images" + simpleDateFormat.format(new Date());

//3.現在目錄可能還不存在,創建目錄(全路徑的目錄),FileUtil是自定義的工具

FileUtil.createDir(rootPath + directory);

//4.給文件重新設置一個名字

String newFileName = FileUtil.getNewFileName(file.getOriginalFilename());

//5.創建這個新文件

File newFile = new File(rootPath + directory + "\\" + newFileName);

//6.復制操作

try {

file.transferTo(newFile);

//文件在服務器上的保存位置格式:/images/2020/03/22/asd45~~~~asdqwe.jpg

String fileName = directory + File.separator + newFileName;

//可通過此路徑fileAllPath在瀏覽器訪問 協議 地址 端口號 目錄(/images/2020/03/15) 文件名

String fileAllPath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + directory + "\\" + newFileName;

HashMap map = new HashMap<>(2);

map.put("fileName", fileName);

map.put("fileAllPath", fileAllPath);

return JsonResult.builder().data(map).message("上傳成功!").code("1").build();

} catch (IOException e) {

return JsonResult.builder().data(null).message("IO異常!").code("-1").build();

}

}

在上面代碼中fileAllPath就是可以直接在瀏覽器上訪問的URL

工具類創建目錄的方法:

public static boolean createDir(String destDirName) {

File dir = new File(destDirName);

if (dir.exists()) {

return false;

}

//如果結尾沒有文件分隔符

if (!destDirName.endsWith(File.separator)) {

destDirName += File.separator;

}

//創建單個目錄

return dir.mkdirs();

}

目前我還沒發現可以上傳到你說的這個位置并且可以訪問的方法,針對重啟就沒有了之前上傳的文件的解決方法:

用圖片服務器

項目打成war包,放在自己的tomcat服務器里面

總結

以上是生活随笔為你收集整理的Java怎么定义图片公共路径_【Java】springboot配置图片访问路径的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

歡迎分享!

轉載請說明來源于"生活随笔",并保留原作者的名字。

本文地址:Java怎么定义图片公共路径_【Java】springboo