logo资料库

基于Java写minio客户端实现上传下载文件.pdf

第1页 / 共2页
第2页 / 共2页
资料共2页,全文预览结束
基于基于Java写写minio客户端实现上传下载文件 客户端实现上传下载文件 主要介绍了基于Java写minio客户端实现上传下载文件,文中通过示例代码介绍的非常详细,对大家的学习或者工 作具有一定的参考学习价值,需要的朋友可以参考下 前言:   确保已经安装了minio的服务端 代码: pom.xml io.minio minio 7.0.2 application.yml server: port:90 minio: url: http://10.69.94.140:9000 accessKey: 账号 secretKey: 密码 defaultFolder: / MinioProperties.java @ConfigurationProperties("minio") @Data public class MinioProperties { private String url; private String accessKey; private String secretKey; private String defaultFolder; } SpringConfig.java @Configuration @EnableConfigurationProperties(MinioProperties.class) @Slf4j public class SpringConfig { @Autowired private MinioProperties minioProperties; @Bean public MinioClient minioClient() { try { return new MinioClient(minioProperties.getUrl(), minioProperties.getAccessKey(), minioProperties.getSecretKey()); } catch (Exception e) { log.error(e.toString()); } return null; } } ImagesController.java @RestController @RequestMapping("/image") @Slf4j @CrossOrigin(origins = "*") public class ImageController { @Autowired private FileService fileService; /******* * Get image file, this method return an image type file which can be displayed in browser. * @param bucketName, system, each system should belong a special bucket. * @param category, a system may contain multiple category * @param fileName
*/ @GetMapping(value = "/get/{bucketName}/{category}/{objectName}/{fileName}", produces = MediaType.IMAGE_JPEG_VALUE) public byte[] get(@PathVariable("bucketName") String bucketName, @PathVariable("category") String category, @PathVariable("objectName") String objectName, @PathVariable("fileName") String fileName) throws Exception { return fileService.getFile(bucketName, category, objectName); } @GetMapping("/download/{bucketName}/{category}/{objectName}/{fileName}") public void download(@PathVariable("bucketName") String bucketName, @PathVariable("category") String category, @PathVariable("objectName") String objectName, @PathVariable("fileName") String fileName, HttpServletResponse response) throws Exception { byte[] buffer = fileService.getFile(bucketName, category, objectName); response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE); response.setHeader("Content-disposition", "attachment; filename=\"" + fileName + "\""); response.getOutputStream().write(buffer); response.flushBuffer(); response.getOutputStream().close(); } @PostMapping("/upload/{bucketName}/{category}") public String upload(@PathVariable("bucketName") String bucketName, @PathVariable("category") String category, @RequestParam("file") MultipartFile file) throws Exception { String objectName = UUID.randomUUID().toString(); fileService.storeFile(bucketName, category, objectName, file.getBytes()); return String.format("image/get/%s/%s/%s/%s", bucketName, category, objectName, file.getOriginalFilename()); } } FilesController.java @RestController @RequestMapping("/files") @Slf4j @CrossOrigin(origins = "*") public class FilesController { @Autowired private FileService fileService; @GetMapping("/download/{bucketName}/{category}/{objectName}/{fileName}") public void download(@PathVariable("bucketName") String bucketName, @PathVariable("category") String category, @PathVariable("objectName") String objectName, @PathVariable("fileName") String fileName, HttpServletResponse response) throws Exception { byte[] buffer = fileService.getFile(bucketName, category, objectName); response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE); response.setHeader("Content-disposition", "attachment; filename=\"" + fileName + "\""); response.getOutputStream().write(buffer); response.flushBuffer(); response.getOutputStream().close(); } @PostMapping("/upload/{bucketName}/{category}") public String upload(@PathVariable("bucketName") String bucketName, @PathVariable("category") String category, @RequestParam("file") MultipartFile file) throws Exception { String objectName = UUID.randomUUID().toString(); fileService.storeFile(bucketName, category, objectName, file.getBytes()); return String.format("files/download/%s/%s/%s/%s", bucketName, category, objectName, file.getOriginalFilename()); } } upload.html Upload file test
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
分享到:
收藏