minio文件上传下载

springboot后台  minio文件管理文件你的上传下载接口

 @PostMapping("/upload")
    public String uploadFile(@RequestParam("file") MultipartFile file) {
        try {
            String bucketName = "your-bucket-name";
            String objectName = "your-object-name";
            minioClient.putObject(
                    PutObjectArgs.builder()
                            .bucket(bucketName)
                            .object(objectName)
                            .stream(file.getInputStream(), file.getSize(), -1)
                            .contentType(file.getContentType())
                            .build());
            return "File uploaded successfully";
        } catch (Exception e) {
            return "File upload failed: " + e.getMessage();
        }
    }

    /**
     * 下载文件
     * @param objectName
     * @param response
     */
    @GetMapping("/download/{objectName}")
    public void downloadFile(@PathVariable String objectName, HttpServletResponse response) {
        try {
            String bucketName = "your-bucket-name";
            response.setHeader("Content-Disposition", "attachment; filename=" + objectName);
            InputStream stream = minioClient.getObject(
                    GetObjectArgs.builder()
                            .bucket(bucketName)
                            .object(objectName)
                            .build());
            byte[] buffer = new byte[1024];
            int length;
            while ((length = stream.read(buffer)) > 0) {
                response.getOutputStream().write(buffer, 0, length);
            }
            stream.close();
        } catch (Exception e) {
            // Handle exception
        }
    }

 

posted on 2024-12-12 11:04  一往无前!  阅读(87)  评论(0)    收藏  举报