李沧网站建设公司,上海网页制作电话,郑州自助建站模板,网站海外推广服务目录 SSM实现文件上传
1、修改from表单请求方式改为post#xff0c;添加属性
2、修改springmvc配置文件#xff0c;添加一下配置
3、后端方法 SSM实现文件上传
1、修改from表单请求方式改为post#xff0c;添加属性#xff1a;
enctypemultipart/form-data添加属性
2、修改springmvc配置文件添加一下配置
3、后端方法 SSM实现文件上传
1、修改from表单请求方式改为post添加属性
enctypemultipart/form-data
2、修改springmvc配置文件添加一下配置
!-- 配置MultipartResolver用于上传文件使用spring的CommonsMultipartResolver --bean idmultipartResolver classorg.springframework.web.multipart.commons.CommonsMultipartResolverproperty namemaxUploadSize value5000000/property namedefaultEncoding valueUTF-8//bean
3、后端方法
1、在请求方法中添加RequestParam(value XXXX, required false) MultipartFile attach 2、设置/获取文件上传路径 3、获取原文件名称解析文件类型文件后缀名 4、判断文件类型尽量在前端操作 5、解析文件大小 6、判断文件大小是否符合要求尽量在配置中做 7、修改文件名称关键字序列号随机字符解析的文件后缀名
例如KD38_202302011509_sadflkfh.jpg 8、判断文件上传路径是否存在若不存在则需要创建该路径 9、进行文件上传将路径文件名转化成File对象调用transferTo()上传 10、手动给实体对象set文件上传路径的属性值和其他需要手动set的属性
PostMapping(/save.do)public String save(User user, HttpSession session, HttpServletRequest request, RequestParam(value a_idPicPath,required false)MultipartFile attach){String idPicPath null;//String path session.getServletContext().getRealPath(statics File.separator upload);System.out.println(文件上传路径 path);//String oldName attach.getOriginalFilename();//String suffix oldName.substring(oldName.lastIndexOf(.));System.out.println(上传的文件类型为 suffix);//long size attach.getSize();if (size 500 * 1024){request.setAttribute(error,文件过大);return useradd;}else if (suffix.equalsIgnoreCase(.jpg) || suffix.equalsIgnoreCase(.png)){//String newName System.currentTimeMillis() RandomUtils.nextInt(0, 1000000) suffix;File file new File(path,newName);//不存在创建if (!file.exists()){file.mkdirs();}try {//把文件写入磁盘attach.transferTo(file);}catch (Exception e){e.printStackTrace();request.setAttribute(error,文件上传失败!);return useradd;}idPicPath path File.separator newName;}else {request.setAttribute(error,不支持上传该类型文件);return useradd;}user.setIdPicPath(idPicPath);user.setCreatedBy(((User)session.getAttribute(Constants.USER_SESSION)).getId());if(userService.add(user)){return redirect:list.do;}else{return useradd;}}