@PostMapping(value = “/upload”)
public Response fileUpload(@RequestParam(“file”)MultipartFile file,PdfDO pdfDO) throws UnsupportedEncodingException {
//判断文件是否为空
//服务器文件地址 /root/tomcat_sichuan/
String baseUrl=”/root/tomcat_sichuan/”;
String fileName=file.getOriginalFilename();
String filePath=path+”/”+fileName; //prod
PdfDO pdf=null;
if(!file.isEmpty()){
try {
PdfDO p=pdfService.findByName(fileName,false);
if(p!=null){ //存在名字相同的把原来的删除
p.setDeleted(true);
pdfService.save(p);//数据库中设置为1 删除
File file1=new File(baseUrl+filePath);
file1.delete();//服务器文件夹删除旧文件
}
file.transferTo(new File(baseUrl+filePath));//添加新文件 传文件 这样就到服务器上了
pdfDO.setName(fileName);
String addressBase64= Base64Utils.getBase64(filePath);
pdfDO.setAddress(addressBase64);
pdfDO.setDeleted(false);
pdf=pdfService.save(pdfDO);
} catch (IOException e) {
e.printStackTrace();
}
}
return Response.success(pdf);
}
文件下载
@ApiOperation(“下载”)
@GetMapping(“/flowByte”)
@ApiImplicitParam(name = “fileName”,value = “文件名”,paramType = “query”,dataType = “String”)
public void export(HttpServletResponse response,String fileName) throws FileNotFoundException {
//获取服务器文件
File file = new File(“/root/tomcat_sichuan/pdf”);
InputStream ins = new FileInputStream(file);
/* 设置文件ContentType类型,这样设置,会自动判断下载文件类型 */
response.setContentType("multipart/form-data");
/* 设置文件头:最后一个参数是设置下载文件名 */
response.setHeader("Content-Disposition", "attachment;filename=" + file.getName());
try {
OutputStream os = response.getOutputStream();
byte[] b = new byte[1024];
int len;
while ((len = ins.read(b)) > 0) {
os.write(b, 0, len);
}
os.flush();
os.close();
ins.close();
} catch (IOException ioe) {
ioe.printStackTrace();
}
}