关于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/");
    }
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章