/** * 上传文件 */ @RequestMapping("/upload") @IgnoreAuth public R upload(@RequestParam("file") MultipartFile file,String type) throws Exception { if (file.isEmpty()) { throw new EIException("上传文件不能为空"); } String fileExt = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")+1); File path = new File(ResourceUtils.getURL("classpath:static").getPath()); if(!path.exists()) { path = new File(""); } File upload = new File(path.getAbsolutePath(),"/upload/"); if(!upload.exists()) { upload.mkdirs(); } String fileName = new Date().getTime()+"."+fileExt; if(StringUtils.isNotBlank(type) && type.contains("_template")) { fileName = type + "."+fileExt; new File(upload.getAbsolutePath()+"/"+fileName).deleteOnExit(); } File dest = new File(upload.getAbsolutePath()+"/"+fileName); file.transferTo(dest); // FileUtils.copyFile(dest, new File("D:\\springbootq33sd\\src\\main\\resources\\static\\upload"+"/"+fileName)); /**修改了路径以后请将该行最前面的//注释去掉**/ if(StringUtils.isNotBlank(type) && type.equals("1")) { ConfigEntity configEntity = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "faceFile")); if(configEntity==null) { configEntity = new ConfigEntity(); configEntity.setName("faceFile"); configEntity.setValue(fileName); } else { configEntity.setValue(fileName); } configService.insertOrUpdate(configEntity); } return R.ok().put("file", fileName); }
时间: 2023-06-16 21:03:45 浏览: 393
这是一个Java Spring Boot框架下的文件上传接口,使用了@RequestParam注解来获取上传的文件参数。如果文件为空,则会抛出一个EIException异常。接着获取文件的后缀名,并创建一个目录来存储上传的文件。如果type参数不为空并且包含"_template"字符串,则将文件名设置为type加上后缀名,然后删除该文件。然后将上传的文件保存到指定的目录中,并返回文件名。如果type参数等于"1",则将文件名存储到数据库中。
相关问题
/** * 上传文件 */ @RequestMapping("/upload") public R upload(@RequestParam("file") MultipartFile file, String type,HttpServletRequest request) throws Exception { if (file.isEmpty()) { throw new EIException("上传文件不能为空"); } String fileExt = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")+1); String fileName = new Date().getTime()+"."+fileExt; File dest = new File(request.getSession().getServletContext().getRealPath("/upload")+"/"+fileName); file.transferTo(dest); if(StringUtils.isNotBlank(type) && type.equals("1")) { ConfigEntity configEntity = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "faceFile")); if(configEntity==null) { configEntity = new ConfigEntity(); configEntity.setName("faceFile"); configEntity.setValue(fileName); } else { configEntity.setValue(fileName); } configService.insertOrUpdate(configEntity); } return R.ok().put("file", fileName); }
这是一个上传文件的方法,使用了Spring MVC框架。用户可以上传一个文件,其中type参数可选,用于区分不同的上传类型。如果type为1,则会将上传的文件名保存到数据库中。在上传文件时,会判断文件是否为空,如果为空则会抛出EIException异常。上传的文件会被保存到项目的upload文件夹下,文件名会加上当前时间戳和文件扩展名。最后,将上传的文件名作为返回结果。
@RequestMapping(value = "/upload", method = RequestMethod.POST) @ResponseBody public JsonResult upload(@RequestParam("file")MultipartFile file, @RequestParam("key")String key, HttpSession session){ Map<String,String> map = new HashMap<>(); try { map = FileUtil.upload(file); } catch (Exception e) { e.printStackTrace(); return JsonResult.error("上传失败"); }
这段代码是一个基于SpringMVC的文件上传接口。请求方法为POST,接收两个参数:一个是文件对象,一个是字符串类型的key值。上传成功后,返回一个JSON格式的数据对象。其中,调用了FileUtil.upload()方法来处理上传的文件,并将处理后的结果存储在一个Map对象中。如果上传失败,则返回一个错误提示信息。
阅读全文