SpringMVC文件上传与删除
2017-07-22 19:45
113 查看
//controller package com.kinth.charts.web.controller; import java.io.File; import java.io.IOException; import javax.servlet.http.HttpServletRequest; import org.apache.commons.io.FileUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.multipart.MultipartFile; import com.kinth.admin.server.rest.api.accessers.PictureAccesser; import com.kinth.admin.web.controller.BaseController; import com.kinth.base.rest.api.accesser.ResteasyWebResourceAccesserFactory; import com.kinth.security.web.service.CurrentUser; import com.mysql.fabric.Response; import net.sf.json.JSONObject; @Controller @RequestMapping("/uploadPicture") public class UploadController extends BaseController{ @Autowired private ResteasyWebResourceAccesserFactory accesserFactory; @RequestMapping(value="/add", method=RequestMethod.POST) public String addPicture(@RequestParam MultipartFile[] myfiles, HttpServletRequest request) throws IOException{ PictureAccesser accesser=this.accesserFactory.createAccesser(PictureAccesser.class, CurrentUser.getAccessToken()); String response = accesser.addPicture(myfiles, request); accesser.close(); return response; } @RequestMapping(value="/add", method=RequestMethod.GET) public String addUser(){ return "picture/add"; } @RequestMapping(value="/list",method=RequestMethod.GET) public String list(){ File folder = new File("F://MyProject1//source//combat_chart//combat_chart-admin//src//main//webapp//static//js//u_editor//jsp//upload"); File[] files = folder.listFiles(); request.setAttribute("files", files); return "picture/list"; } @RequestMapping(value="/{fileName}/delete", method=RequestMethod.GET) public String deletePicture(@PathVariable("fileName") String fileName) throws IOException{ PictureAccesser accesser=this.accesserFactory.createAccesser(PictureAccesser.class, CurrentUser.getAccessToken()); String response = accesser.deletePicture(fileName); accesser.close(); return response; } @RequestMapping(value="/uploadimage", method=RequestMethod.POST) public String config(){ return "controller"; } @RequestMapping(value="/uploadimage", method=RequestMethod.GET) public String configw(){ return "controller"; } }
//Accesser package com.kinth.admin.server.rest.api.accessers; import java.io.File; import java.io.IOException; import javax.servlet.http.HttpServletRequest; import org.apache.commons.io.FileUtils; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.multipart.MultipartFile; import com.kinth.admin.server.rest.api.interfaces.PictureInterface; import com.kinth.base.rest.api.accesser.ResteasyWebResourceAccesser; public class PictureAccesser extends ResteasyWebResourceAccesser implements PictureInterface { public PictureAccesser(String resourceRoot) { super(resourceRoot); // TODO Auto-generated constructor stub } @Override public String addPicture(@RequestParam MultipartFile[] myfiles, HttpServletRequest request) throws IOException{ //如果只是上传一个文件,则只需要MultipartFile类型接收文件即可,而且无需显式指定@RequestParam注解 //如果想上传多个文件,那么这里就要用MultipartFile[]类型来接收文件,并且还要指定@RequestParam注解 //并且上传多个文件时,前台表单中的所有<input type="file"/>的name都应该是myfiles,否则参数里的myfiles无法获取到所有上传的文件 for(MultipartFile myfile : myfiles){ if(myfile.isEmpty()){ System.out.println("文件未上传"); }else{ System.out.println("文件长度: " + myfile.getSize()); System.out.println("文件类型: " + myfile.getContentType()); System.out.println("文件名称: " + myfile.getName()); System.out.println("文件原名: " + myfile.getOriginalFilename()); System.out.println("========================================"); //String path="http://localhost:8082/admin/static/js/u_editor/jsp/upload/image"; String realPath = request.getSession().getServletContext().getRealPath("/static/js/u_editor/jsp/upload"); FileUtils.copyInputStreamToFile(myfile.getInputStream(), new File(realPath, myfile.getOriginalFilename())); } } return "redirect:/uploadPicture/list"; } @Override public String deletePicture(String fileName) throws IOException { File folder = new File("F://MyProject1//source//combat_chart//combat_chart-admin//src//main//webapp//static//js//u_editor//jsp//upload"); File[] files = folder.listFiles(); for(File file:files){ if(file.getName().equals(fileName)){ file.delete(); } } return "redirect:/uploadPicture/list"; } }
相关文章推荐
- SpringMVC ajax技术无刷新文件上传下载删除示例
- 基于SpringMVC的文件(增删改查)上传、下载、更新、删除
- SpringMVC ajax技术无刷新文件上传下载删除示例
- SpringMVC ajax技术无刷新文件上传下载删除示例
- springMVC实现文件上传 删除 下载
- 前端ajax异步上传文件+SpringMVC处理上传文件
- .net,C#,Ftp各种操作,上传,下载,删除文件,创建目录,删除目录,获得文件列表等(转)
- SpringMVC 使用uploadify插件上传文件,post方法无法直接获取参数问题
- SpringMVC上传文件
- SpringMVC学习--文件上传
- SpringMVC学习 文件上传
- SpringMvc文件上传
- 文件的上传,下载,多个文件生成压缩包,文件的删除
- ASP.NET中对文件的操作 创建 读取 删除 上传 下载
- C#FTP操作类含下载上传删除获取目录文件及子目录列表等等
- 深入springMVC------文件上传源码解析(上篇) 最近在项目中,使用springmvc 进行上传文件时,出现了一个问题: org.springframework.web.multipart
- SSH框架之SpringMVC文件上传功能代码
- SpringMVC上传文件的三种方式(转载)
- springmvc上传头像 ajax上传文件回显
- springMvc 文件上传