springboot利用MultipartFile实现文件的上传

时间:2021-10-28 来源:未知网络 作者:996建站网

第一步:

@PostMapping("/upload_article_cover")
public Map<String,Object> upload_article_cover(@RequestParam("file")MultipartFile file, HttpServletRequest request) {
String filName = file.getOriginalFilename();
String filePath = "E:\\IdeaProjects\\spring_boot_shopping_video\\src\\main\\resources\\static\\Article_Cover\\";
String uuid = UUID.randomUUID().toString().replaceAll("-", "");
try {
if (upload_img_util.img_upload(uuid, filePath, filName, file)) {
return r.success(0, "保存文件成功", null);
}else {
return r.warning(1,"图片保存工具类发生错误",null);
}
} catch (IOException e) {
e.printStackTrace();
return r.error(1, "保存文件失败", null);
}
}

第二步:工具类的实现

public boolean img_upload(String uuid, String filePath, String fileName, MultipartFile file) throws IOException {
File dir = new File(filePath);
/*如果文件 或目录不存在 ||!dir.isDirectory()*/
if(!dir.exists()){
dir.mkdirs();
}
try {
File serverFile = new File(filePath+uuid+fileName);
file.transferTo(serverFile);
return true;
}catch (Exception e){
e.printStackTrace();
return false;
}
}

第三步 配置通过ip地址实现静态资源的访问

package com.project.demo.Config;

import org.springframework.stereotype.Component;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Component
public class WebConfig implements WebMvcConfigurer {
/*
* 添加静态资源文件,外部可以直接访问地址
*
* @param registry
*/

@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
}
}

springboot利用MultipartFile实现文件的上传插图

微信扫一扫 关注公众号

微信扫一扫 使用小程序

百度扫一扫 使用小程序