java 如何存图片
存储图片到本地文件系统
使用 ImageIO 类可以将图片保存为本地文件。支持常见格式如 JPEG、PNG 等。
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
BufferedImage image = ...; // 获取图片对象
File outputFile = new File("path/to/save/image.jpg");
ImageIO.write(image, "jpg", outputFile);
存储图片到数据库(BLOB类型)
通过 JDBC 将图片以二进制流形式存入数据库。

PreparedStatement ps = connection.prepareStatement(
"INSERT INTO images (name, data) VALUES (?, ?)");
ps.setString(1, "image_name.jpg");
FileInputStream fis = new FileInputStream("path/to/image.jpg");
ps.setBinaryStream(2, fis, (int)file.length());
ps.executeUpdate();
使用Base64编码存储
将图片转换为Base64字符串,适合文本存储场景。

import java.util.Base64;
import java.nio.file.Files;
byte[] fileContent = Files.readAllBytes(Paths.get("path/to/image.jpg"));
String encodedString = Base64.getEncoder().encodeToString(fileContent);
存储到云存储服务
以AWS S3为例的云存储方案。
AmazonS3 s3Client = AmazonS3ClientBuilder.defaultClient();
PutObjectRequest request = new PutObjectRequest(
"bucket-name",
"object-key.jpg",
new File("path/to/image.jpg"));
s3Client.putObject(request);
内存缓存存储
使用 ByteArrayOutputStream 临时存储图片字节。
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(image, "jpg", baos);
byte[] imageBytes = baos.toByteArray();






