需求:Java根据Url把多个文件下载到指定的文件夹目录,然后再将文件夹目录打包成zip导出.
@Slf4j
@Controller("test")
@Api(value = "zip文件上传API", tags = {"zip文件上传"})
public class Download {
@Autowired
private RecordFileMapper recordFileMapper;
@Autowired
private AttachmentRepository attachmentRepository;
/**
* 文件下载
* @param
* @param response
* @throws Exception
*/
@GetMapping("checkDownloadFile")
@ResponseBody
public void checkDownloadFile(@ApiParam("id") @RequestParam("id") String id,
HttpServletResponse response) throws Exception {
//根据id获取到你的文件url
QueryWrapper<RecordFile> recordFileQueryWrapper = new QueryWrapper<>();
recordFileQueryWrapper.eq("recordid", id);
List<RecordFile> recordFileList = recordFileMapper.selectList(recordFileQueryWrapper);
List<Attachment> attachmentList = new ArrayList<>();
for (int k = 0; k < recordFileList.size(); k++) {
//获取id
if (recordFileList != null) {
RecordFile recordFile = recordFileList.get(k);
//根据文件id查询neo4j里面的文件信息
Attachment attachment = attachmentRepository.queryByid(Long.valueOf(recordFile.getFileid()));
attachmentList.add(attachment);
}
}
//判断你的集合是否为=1,如果是1 是单个文件直接执行下面的代码
if(attachmentList.size()==1){
String url=attachmentList.get(0).getPath();
HttpURLConnection conn = null;
InputStream fis = null;
try {
File file = new File(u