关于Spring boot 文件上传的文件(读取的图片路径映射问题)
直接上代码
/**
* 1.文件保存在服务器,url地址保存在数据库
* 上传成功之后返回成功保存的url地址
*/
@RequestMapping(value = "/upload", method = RequestMethod.POST)
@ResponseBody
public JSONObject upload(@RequestParam("file") MultipartFile file) {
JSONObject jsonObject = new JSONObject();
try {
if (file.isEmpty()) {
System.out.println("上传的文件为空!");
jsonObject.put("msg","文件为空");
}
// 文件名
String fileName = file.getOriginalFilename();
// 获取文件后缀名
String extension = fileName.substring(fileName.indexOf("."));
// 上传文件的路径
String uploadFolder = "C:/home/upload/";
// 生成一个新的文件名
fileName = UUID.randomUUID() + extension;
File dest = new File(uploadFolder + fileName);
// 检测文件目录是否存在 不存在则创建
if (!dest.getParentFile().exists()) {
dest.getParentFile().mkdirs();
}
try {
file.transferTo(dest);
} catch (IOException e) {
e.printStackTrace();
}
// 返回虚拟文件访问路径
jsonObject.put("fileName",fileName);
jsonObject.put("url","127.0.0.1:8080"+"/项目名称/upload/"+fileName);
}
catch (Exception ex)
{
System.out.println("文件为空");
jsonObject.put("msg","文件为空");
}
return jsonObject ;
}
/**
* @Description: 上传文件路径映射
* @UpdateRemark: 修改内容
* @Version: 1.0
*/
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class UploadConfig implements WebMvcConfigurer {
/**
* 映射文件路径
* @param registry
*/
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/upload/**")
.addResourceLocations("file:"+"C:/home/upload/");
}
}
再牛逼的梦想,也抵不住我傻逼似的坚持!别在该奋斗的年纪,贪图安逸。 今天多学一些知识,明天开发的速度就更快一下。后天你就会变得更好。