zoukankan      html  css  js  c++  java
  • 文件上传 下载

    文件上传

    controller

     1     public Object updateHeadPortrait(@RequestParam(value = "file") MultipartFile file, HttpServletRequest request) throws Exception{
     2         SysUser sysUser = userUtil.getSysUser(request);
     3         // 判断文件类型
     4         int fileType = FileTypeUtil.checkFileType(file);
     5         if (1 == fileType) {
     6             // 文件为空
     7             return RestResponse.buildError(ReturnCode.file_is_null);
     8         }
     9         String fileTypes = file.getOriginalFilename().substring(file.getOriginalFilename().indexOf("."),file.getOriginalFilename().length());
    10         if(!(".png").equals(fileTypes)&&!(".jpg").equals(fileTypes)){
    11             return RestResponse.buildError(ReturnCode.file_type_error);
    12         }
    //上传文件
    13 Map map = commonService.uploadImage(file); 14 15 return RestResponse.buildSuccess(); 16 }

    impl

     1  public Map uploadImage(MultipartFile file) throws Exception {
     2         String tempPath = format.format(new Date()); //定义文件名
     3         File tempFile = new File(filePath+File.separator+tempPath);
     4         if(!tempFile.exists()){
     5             tempFile.mkdirs();
     6         }
     7         String fileType = file.getOriginalFilename().substring(file.getOriginalFilename().indexOf("."),file.getOriginalFilename().length());//获取文件类型
     8         String filePaths = tempPath+"/"+ UUIDUtil.getUUID()+fileType; //文件保存位置
     9         File f = new File(filePath+File.separator+filePaths);
    10         file.transferTo(f);
    11         Map map = new HashMap();
    12         map.put("path",filePaths);
    13         return map;
    14     }

    下载

      @Override
        public void download(DocumentFileDto documentFileDto, HttpServletResponse response) throws Exception {
            ServletOutputStream out = null;
            FileInputStream ips = null;
            try {
                //获取图片存放路径
                String imgPath = filePath + File.separator + documentFileDto.getUrl();  //拼接下载路径
                ips = new FileInputStream(new File(imgPath));
                response.setContentType(documentFileDto.getFileType());
                response.setContentType("application/msexcel;charset=UTF-8");
                response.setHeader("Content-Type", "application/octet-stream");
           //下载时文件名中文乱码问题 配置如下能解决 response.setHeader(
    "Content-Disposition", "attachment;fileName=" + new String(documentFileDto.getFileName().getBytes(), "iso-8859-1")+documentFileDto.getFileType()); out = response.getOutputStream(); //读取文件流 int len = 0; byte[] buffer = new byte[1024 * 10]; while ((len = ips.read(buffer)) != -1){ out.write(buffer,0,len); } out.flush(); }catch (Exception e){ e.printStackTrace(); }finally { out.close(); ips.close(); } }
  • 相关阅读:
    ADB命令大全
    Backup your Android without root or custom recovery -- adb backup
    Content portal for Pocketables Tasker articles
    Is there a way to detect if call is in progress? Phone Event
    Tasker to proximity screen off
    Tasker to detect application running in background
    Tasker to create toggle widget for ES ftp service -- Send Intent
    Tasker to proximity screen on
    Tasker to answer incoming call by pressing power button
    Tasker to stop Poweramp control for the headset while there is an incoming SMS
  • 原文地址:https://www.cnblogs.com/huanglp/p/12901646.html
Copyright © 2011-2022 走看看