springboot#下载文件
这就是我要的滑板鞋!
@RequestMapping(value = "/media", method = RequestMethod.GET) public ResponseEntity<InputStreamResource> downloadFile( Long id) throws IOException { String filePath = "E:/" + id + ".rmvb"; FileSystemResource file = new FileSystemResource(filePath); HttpHeaders headers = new HttpHeaders(); headers.add("Cache-Control", "no-cache, no-store, must-revalidate"); headers.add("Content-Disposition", String.format("attachment; filename=\"%s\"", file.getFilename())); headers.add("Pragma", "no-cache"); headers.add("Expires", "0"); return ResponseEntity .ok() .headers(headers) .contentLength(file.contentLength()) .contentType(MediaType.parseMediaType("application/octet-stream")) .body(new InputStreamResource(file.getInputStream())); }
上传文件:
@ApiOperation(value = "添加或者替换证书", notes = "1.添加后无需重启,若证书合法,则立即生效;\n" +
"2.请确保上传的证书文件名称为license.lic,否则无效")
@PostMapping("addLicense")
public Json uploadLicense(MultipartFile file) {
if (null == file) {
return Json.fail("400", "获取上传文件失败,请检查file上传组件的名称是否正确");
} else if (file.isEmpty()) {
return Json.fail("400", "没有选择文件");
} else {
String filename = file.getOriginalFilename();
filename = licenseStorePath + filename;
File dest = new File(filename);
try {
file.transferTo(dest);
app.publishEvent(new NeedLoadLicenseEvent(this));
return Json.success("上传成功").data("filePath", filename);
} catch (IOException e) {
e.printStackTrace();
return Json.fail("500", "文件上传发生异常").data("Exception", e.getLocalizedMessage());
}
}
}
浙公网安备 33010602011771号