SpringMVC文件上传与删除

来源:互联网 发布:spark sql 数据仓库 编辑:程序博客网 时间:2024/06/06 09:42
//controllerpackage 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";          } }
//Accesserpackage 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";    }}
原创粉丝点击