A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

6.3.5.3 分块检查
在Service 中定义分块检查方法:
[AppleScript] 纯文本查看 复制代码
//得到块文件所在目录 private String getChunkFileFolderPath(String fileMd5){ String fileChunkFolderPath = getFileFolderPath(fileMd5) +"/" + "chunks" + "/";    
  return fileChunkFolderPath;    
  } //检查块文件 public CheckChunkResult checkchunk(String fileMd5, String chunk, String chunkSize) {    
 //得到块文件所在路径   
  String chunkfileFolderPath = getChunkFileFolderPath(fileMd5); 
    //块文件的文件名称以1,2,3..序号命名,没有扩展名   
  File chunkFile = new File(chunkfileFolderPath+chunk);   
  if(chunkFile.exists()){   
      return new CheckChunkResult(MediaCode.CHUNK_FILE_EXIST_CHECK,true);  
   }else{    
     return new CheckChunkResult(MediaCode.CHUNK_FILE_EXIST_CHECK,false);  
   } }

6.3.5.4 上传分块
在Service 中定义分块上传分块方法:

[AppleScript] 纯文本查看 复制代码
//块文件上传 public ResponseResult uploadchunk(MultipartFile file, String fileMd5, String chunk) {   
  if(file == null){       
  ExceptionCast.cast(MediaCode.UPLOAD_FILE_REGISTER_ISNULL);  
   }     
//创建块文件目录   
  boolean fileFold = createChunkFileFolder(fileMd5);  
   //块文件 
    File chunkfile = new File(getChunkFileFolderPath(fileMd5) + chunk);   
  //上传的块文件 
    InputStream inputStream= null;   
  FileOutputStream outputStream = null;   
  try {  
       inputStream = file.getInputStream();      
   outputStream = new FileOutputStream(chunkfile);  
       IOUtils.copy(inputStream,outputStream); 
    } catch (Exception e) {   
      e.printStackTrace();     
    LOGGER.error("upload chunk file fail:{}",e.getMessage());   
      ExceptionCast.cast(MediaCode.CHUNK_FILE_UPLOAD_FAIL);  
   }finally {    
     try {        
     inputStream.close();  
       } catch (IOException e) {          
   e.printStackTrace();     
    }      
   try {         
    outputStream.close();    
     } catch (IOException e) {        
     e.printStackTrace();     
   }   
    } 
    return new ResponseResult(CommonCode.SUCCESS); }    
 //创建块文件目录    
 private boolean createChunkFileFolder(String fileMd5){     
    //创建上传文件目录  
       String chunkFileFolderPath = getChunkFileFolderPath(fileMd5);  
       File chunkFileFolder = new File(chunkFileFolderPath);     
    if (!chunkFileFolder.exists()) {     
        //创建文件夹        
     boolean mkdirs = chunkFileFolder.mkdirs();      
       return mkdirs;      
   }       
  return true; 
    }

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马