spring上传下载文件

来源:互联网 发布:imagesloaded.pkgd.js 编辑:程序博客网 时间:2024/06/06 04:42

不使用第三方上传和下载。

上传文件:

@RequestMapping(value = "/uploadFile", method = RequestMethod.POST)    public void uploadFile(HttpServletRequest request) {        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;        Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();        String path = File.separator + "Files";        String realPath = request.getSession().getServletContext().getRealPath(path);        String fileName;        String fileType;        MultipartFile mf;        File uploadFile;        for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {            mf= entity.getValue();            fileName = mf.getOriginalFilename();            fileType= fileName.substring(fileName.lastIndexOf(".") + 1);            String filePath = fileName + "." + fileType;            uploadFile = new File(realPath + File.separator + filePath);            try {                mf.transferTo(uploadFile);            }catch (Exception e)            {                e.printStackTrace();            }        }    }
上面是获取所有上传文件,也可以获取指定名称的文件

MultipartFile userImg = multipartRequest.getFile("paramName");
下载文件:
@RequestMapping("/download")       public void downloadFile(String fileName,HttpServletResponse response){            response.setCharacterEncoding("utf-8");            response.setContentType("multipart/form-data");            response.setHeader("Content-Disposition", "attachment;fileName="+fileName);            try {                File file=new File(fileName);                   InputStream inputStream=new FileInputStream("file/"+file);                OutputStream os=response.getOutputStream();                byte[] b=new byte[1024];                int length;                while((length=inputStream.read(b))>0){                    os.write(b,0,length);                }                inputStream.close();            } catch (FileNotFoundException e) {                e.printStackTrace();            } catch (IOException e) {                e.printStackTrace();            }        } 



0 0