springboot 靜態資源訪問:html
這是springboot 默認的靜態資源訪問路徑 訪問順序依次從前到後(http://localhost:8080/bb.jpg)web
spring.resources.static-locations = classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/ spring
自定義靜態資源訪問路徑 (http://localhost:8080/bb.jpg)數組
# 靜態文件請求匹配方式 (只要是請求路徑配到到了 就訪問下面配置的默認靜態資源路徑)
spring.mvc.static-path-pattern=/**
# 修改默認的靜態尋址資源目錄 多個使用逗號分隔
spring.resources.static-locations = classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,classpath:/upload/tomcat
//自定義 不在項目下的路徑(好比: c:/upload2) 經過http://localhost:8080/bb.jpg 也能訪問 記得加配置springboot
# 靜態文件請求匹配方式 (只要是請求路徑配到到了 就訪問下面配置的默認靜態資源路徑)
spring.mvc.static-path-pattern=/**
# 修改默認的靜態尋址資源目錄 多個使用逗號分隔
spring.resources.static-locations = classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,classpath:/upload/,classpath:/ c:/upload2服務器
springboot 實現多文件上傳mvc
對於上傳路徑問題 能夠經過上面講的自定義路徑來進行配置:下載到電腦的某個位置而後進行訪問 和上面的配置如出一轍 只是classpath=>fileapp
web.upload-path=/Users/jack/Desktop
spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,classpath:/test/,file:${web.upload-path}
下面貼代碼:(文件下載到tomcate下)
html:dom
<body>
<form enctype="multipart/form-data" method="post" action="/upload">
文件:<input type="file" name="head_img"/>
姓名:<input type="text" name="name"/>
<input type="submit" value="上傳"/>
</form>
</body>
下載工具類:
/**
* 提取上傳方法爲公共方法
* @param uploadDir 上傳文件目錄
* @param file 上傳對象
* @throws Exception
*/
private void executeUpload(String uploadDir,MultipartFile file) throws Exception
{
//文件後綴名
String suffix = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
//上傳文件名
String filename = UUID.randomUUID() + suffix;
//服務器端保存的文件對象
File serverFile = new File(uploadDir + filename);
//將上傳的文件寫入到服務器端文件內
file.transferTo(serverFile);
}
controller:
@RequestMapping(value = "/uploads",method = RequestMethod.POST)
public @ResponseBody String uploads(HttpServletRequest request,MultipartFile[] file)
{
try {
//上傳目錄地址
// 隨意 String uploadDir = C:/img/;
String uploadDir=ResourceUtils.getURL("classpath:").getPath()+"/static/up/";
System.out.println(uploadDir);
//若是目錄不存在,自動建立文件夾
File dir = new File(uploadDir);
if(!dir.exists())
{
dir.mkdir();
}
//遍歷文件數組執行上傳
for (int i =0;i<file.length;i++) {
if(file[i] != null) {
//調用上傳方法
executeUpload(uploadDir, file[i]);
}
}
}catch (Exception e)
{
//打印錯誤堆棧信息
e.printStackTrace();
return "上傳失敗";
}
return "上傳成功";
}
而後文件下載路徑就到了tomcate 下。
須要配置
web.upload-path=/C:/img/
spring.resources.static-locations = classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,classpath:/templates/,file:${web.upload-path},file:/static/
也能夠經過 http://localhost:8080/up/bb.jpg 訪問