粗糙版图片上传
1.导入依赖
<dependency><groupId>io.minio</groupId><artifactId>minio</artifactId><version>8.5.2</version>
</dependency>
2.配置minio地址跟对应的桶 业务层实现类
java">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传给后端