一 Springmvc文件上传
在学习servlet的时候,文件上传依赖fileupload和io的jar包。这里回忆一下之前学习的知识点://创建工厂对象 DiskFileItemFactory factory = new DiskFileItemFactory(); // 用于操作上传的流 upload.setHeaderEncoding("UTF-8"); upload.setFileSizeMax(1024*60); try { List<FileItem> items = upload.parseRequest(request); for (FileItem item : items) { // 判断表单项的类型 if (item.isFormField()) { //表单类型数据处理代码块 } else { // 保存到服务器 InputStream is = item.getInputStream(); //使用UUID String fileName = UUID.randomUUID().toString(); //截取上传文件的格式 String upFileName = item.getName(); String[] split = upFileName.split("\\."); String lastName=split[split.length-1]; //保存到数据库 String realPath = "d:/head/"+fileName+"."+lastName; //保存到seesion的路径 String savepath="http://192.168.2.87:8080/"+fileName+"."+lastName; request.getSession().setAttribute("imgPath", savepath); System.out.println(savepath); OutputStream os = new FileOutputStream(realPath); /* byte[] buf = new byte[1024]; int len = 0; while ((len = is.read(buf)) != -1) { os.write(buf, 0, len); } os.close();*/ IOUtils.copy(is, os); } } } catch (FileUploadException e) { e.printStackTrace(); } |
配置MultipartResolver解析器:
FileUploadController类:
@Controller public class FileUploadController { @RequestMapping("/form") public String handleFormUpload(@RequestParam("name") String name, @RequestParam("file") MultipartFile file) throws IOException { File f = new File("D:\\img\\"+file.getOriginalFilename()); file.transferTo(f); return "upload"; } @RequestMapping(value = "/upload", method = RequestMethod.GET) public String index() { return "upload"; } } |
jsp页面写一下,测试 D盘文件上传成功!!!
二 json数据交互
首先找到依赖jar包
还需要在任何一个处理器适配器里配置:
<bean |
@Controller |