String savePath = request.getSession().getServletContext().getRealPath("/")
时间: 2024-04-26 17:20:44 浏览: 251
这行代码的作用是获取当前Web应用程序的根目录在服务器上的实际路径。具体来说,HttpServletRequest对象的getSession()方法返回HttpSession对象,HttpSession对象的getServletContext()方法返回ServletContext对象,ServletContext对象的getRealPath("/")方法返回当前Web应用程序的根目录在服务器上的实际路径。这个实际路径可以用于保存文件等操作。需要注意的是,这个实际路径可能依赖于具体的Web容器和部署方式,因此不同的容器和部署方式可能返回不同的实际路径。
相关问题
public Map<String,String> upload(Manuscript manuscript,MultipartFile manuscript_file,HttpServletRequest request, HttpServletResponse response ) throws IOException{ Map<String,String> ret = new HashMap<String,String>(); if(StringUtils.isEmpty(manuscript.getAuthor_name())) { ret.put("type","error"); ret.put("msg","作者姓名不能为空!"); return ret; } String author_name = request.getSession().getAttribute("author_name").toString(); if(!manuscript.getAuthor_name().equals(author_name)) { ret.put("type","error"); ret.put("msg","请输入正确的姓名!"); return ret; } if(StringUtils.isEmpty(manuscript.getTitle())) { ret.put("type","error"); ret.put("msg","稿件标题不能为空!"); return ret; } if(StringUtils.isEmpty(manuscript.getSummary())) { ret.put("type","error"); ret.put("msg","稿件摘要不能为空!"); return ret; } if(manuscript_file==null) { ret.put("type","error"); ret.put("msg","文件没有选择"); return ret; } if(manuscript_file.getSize() > 10485760){ //文件没有选择 ret.put("type", "error"); ret.put("msg", "文件大小超过10M!"); return ret; } String suffix = manuscript_file.getOriginalFilename().substring(manuscript_file.getOriginalFilename().lastIndexOf(".")+1,manuscript_file.getOriginalFilename().length()); if(!"docx,doc,pdf".contains(suffix)) { ret.put("type","error"); ret.put("msg","文件格式不正确!"); return ret; } String savePath = request.getServletContext().getRealPath("/")+"\upload\"; File savePathFile = new File(savePath); if(!savePathFile.exists()) { savePathFile.mkdir(); } String fileName = new Date().getTime()+"."+suffix; ret.put("src",request.getServletContext().getContextPath() + "/upload/" + fileName); manuscript_file.transferTo(new File(savePath+fileName)); manuscript.setFilePath(ret.get("src")); SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); String format = sf.format(new Date()); manuscript.setSubmit_time(format); manuscript.setId((Integer)request.getSession().getAttribute("id")); manuscript.setState("待审核"); if(authorService.add(manuscript)<=0) { ret.put("type","error"); ret.put("msg","稿件添加失败!"); return ret; } ret.put("type", "success"); ret.put("msg", "文件上传成功!"); return ret; }这段代码什么意思
这是一个Java语言编写的上传文件的函数,函数需要传入一个Manuscript对象、一个MultipartFile对象、一个HttpServletRequest对象和一个HttpServletResponse对象。函数使用了HashMap来返回处理结果,同时进行了参数校验和文件存储操作。如果参数不符合要求,函数会返回错误提示。如果文件大于10M、不是docx、doc或pdf格式,函数也会返回错误提示。最后,将稿件添加到数据库中,并返回成功提示。
阅读全文