Bootstrap

java文件上传粗糙版

粗糙版图片上传

1.导入依赖

<dependency>
    <groupId>io.minio</groupId>
    <artifactId>minio</artifactId>
    <version>8.5.2</version>
</dependency>

2.配置minio地址跟对应的桶 业务层实现类

import io.minio.MinioClient;  // 导入MinioClient,用于与MinIO交互
import io.minio.PutObjectArgs; // 导入PutObjectArgs,用于设置上传文件的参数
import lombok.SneakyThrows; // 导入SneakyThrows注解,用于简化异常处理
import org.springframework.stereotype.Service; // 导入Service注解,表明这是一个服务类
import org.springframework.web.multipart.MultipartFile; // 导入MultipartFile,用于处理上传的文件
@Service // 将此类声明为Spring的服务类,允许Spring进行依赖注入
public class FileUploadBrandServiceImpl implements FileUploadBrandService {
    @Override
    @SneakyThrows // 该注解会让方法抛出的受检异常被隐藏,简化异常处理
    public String fileUpload(MultipartFile file) {
        // 创建Minio客户端,通过MinioClient.Builder设置相关信息
        MinioClient minioClient = MinioClient.builder()
                // 设置MinIO的终端节点(服务地址)
                .endpoint("http://192.168.153.128:9002")
                // 设置存储的凭据,包括用户名和密码
                .credentials("admin", "admin123456")
                .build(); // 构建MinioClient对象
        // 构造文件在存储中的路径,包含文件夹名 "brand/"
        String originalFilename = "brand" + "/" + file.getOriginalFilename();
        // 配置上传文件的参数,包括存储桶名称、流、文件大小和文件路径
        PutObjectArgs putObjectArgs = PutObjectArgs.builder()
                .bucket("spzx-1") // 指定存储桶名称
                .stream(file.getInputStream(), file.getSize(), -1) // 输入流和文件大小
                .object(originalFilename) // 设置文件在存储桶中的路径和文件名
                .build(); // 构建PutObjectArgs对象
        // 调用Minio客户端的putObject方法执行文件上传
        minioClient.putObject(putObjectArgs);
        // 构建并返回文件的URL,以便访问上传后的文件
        String brandimgUrl = "http://192.168.153.128:9002/" + "spzx-1" + "/" + originalFilename;
        return brandimgUrl; // 返回文件的公开访问URL
    }
}

3.返回前端一个图片地址

4.前端需要保存表单信息时将图片url传给后端

;