| | |
| | | response.setHeader("Content-Disposition", "attachment;filename=files.zip"); |
| | | |
| | | ZipOutputStream zipOutputStream = new ZipOutputStream(response.getOutputStream()); |
| | | int i = 0; |
| | | for (String s : id) { |
| | | i++; |
| | | FileInfo fileInfo = service.getById(s); |
| | | FtpUtils ftpUtil = new FtpUtils(); |
| | | InputStream inputStream = ftpUtil.retrieveFileStream(fileInfo.getFullPath()); |
| | | |
| | | // 每个文件写入到ZIP包中 |
| | | zipOutputStream.putNextEntry(new ZipEntry(fileInfo.getName() + BaseConsts.DOT + fileInfo.getSuffix())); |
| | | zipOutputStream.putNextEntry(new ZipEntry(fileInfo.getName() + "-" + i + BaseConsts.DOT + fileInfo.getSuffix())); |
| | | IOUtils.copy(inputStream, zipOutputStream); |
| | | zipOutputStream.closeEntry(); |
| | | IOUtils.closeQuietly(inputStream); |
| | |
| | | |
| | | /** |
| | | * 公共方法-获取附件列表 |
| | | * @url {ctx}/api/web/fileInfo/lietNewSysFile |
| | | * |
| | | * @param |
| | | * @return Object |
| | | * @url {ctx}/api/web/fileInfo/lietNewSysFile |
| | | */ |
| | | @GetMapping(value = "/listNewSysFile") |
| | | public Object listNewSysFile(@RequestParam (value = "ownerId") String ownerId, @RequestParam (value = "ownerType") String ownerType, |
| | | @RequestParam (value = "size") String size){ |
| | | try{ |
| | | public Object listNewSysFile(@RequestParam(value = "ownerId") String ownerId, @RequestParam(value = "ownerType") String ownerType, |
| | | @RequestParam(value = "size") String size) { |
| | | try { |
| | | QueryWrapper<FileRelate> fileRelateQueryWrapper = new QueryWrapper<>(); |
| | | fileRelateQueryWrapper.eq("owner_type", ownerType).eq("owner_id", ownerId).orderByDesc("create_time") |
| | | .last("limit "+size).select("file_id"); |
| | | .last("limit " + size).select("file_id"); |
| | | List<FileRelate> fileRelateList = fileRelateService.list(fileRelateQueryWrapper); |
| | | List<FileInfo> fileInfoList = null; |
| | | if(CollectionUtils.isNotEmpty(fileRelateList)){ |
| | | List<String>fileIdList = fileRelateList.stream().map(FileRelate:: getFileId).collect(Collectors.toList()); |
| | | QueryWrapper<FileInfo>fileInfoQueryWrapper = new QueryWrapper<>(); |
| | | if (CollectionUtils.isNotEmpty(fileRelateList)) { |
| | | List<String> fileIdList = fileRelateList.stream().map(FileRelate::getFileId).collect(Collectors.toList()); |
| | | QueryWrapper<FileInfo> fileInfoQueryWrapper = new QueryWrapper<>(); |
| | | fileInfoQueryWrapper.in("id", fileIdList).select("id", "true_name").orderByDesc("create_time"); |
| | | fileInfoList = service.list(fileInfoQueryWrapper); |
| | | } |