绘制一张图片,并将这张图上传到远程服务器【即对接远程服务器的文件上传接口】,不调用feign
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>4.9.1</version>
</dependency>
public static void main(String[] args) {
image();
}
public static void image(){
try {
BufferedImage image = new BufferedImage(800, 600, BufferedImage.TYPE_INT_RGB);
Graphics2D g2d = image.createGraphics();
g2d.setColor(Color.RED);
g2d.drawLine(0, 0, 800, 600);
g2d.setColor(Color.BLUE);
g2d.fillRect(100, 100, 200, 150);
g2d.dispose();
byte[] imageData;
try (ByteArrayOutputStream baos = new ByteArrayOutputStream()) {
ImageIO.write(image, "png", baos);
imageData = baos.toByteArray();
}
OkHttpClient client = new OkHttpClient();
RequestBody requestBody = new MultipartBody.Builder()
.setType(MultipartBody.FORM)
.addFormDataPart("file", "image6311x.png", RequestBody.create(MediaType.parse("image/png"), imageData))
.build();
Request request = new Request.Builder()
.url("https://xxx.com/file/upload")
.post(requestBody)
.build();
try (Response response = client.newCall(request).execute()) {
if (response.isSuccessful()) {
String responseData = response.body().string();
System.out.println("远程服务器返回的数据:" + responseData);
} else {
System.out.println("图像上传失败,错误码:" + response.code());
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
从指定url中获图像数据,并上传到远程文件服务器【不调用feign】
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>4.9.1</version>
</dependency>
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import javax.imageio.ImageIO;
public class ImageDownloadExample {
public static void main(String[] args) {
String imageUrl = "https://example.com/image.jpg";
String uploadUrl = "https://example.com/upload";
try {
URL url = new URL(imageUrl);
try (InputStream inputStream = url.openStream()) {
BufferedImage image = ImageIO.read(inputStream);
uploadImage(image, uploadUrl,"20231106-01.jpg");
}
} catch (IOException e) {
e.printStackTrace();
}
}
private static void uploadImage(BufferedImage image, String uploadUrl,String fileName) {
byte[] imageData;
try (ByteArrayOutputStream baos = new ByteArrayOutputStream();){
ImageIO.write(image, "jpg", baos);
imageData = baos.toByteArray();
} catch (IOException e) {
e.printStackTrace();
return;
}
RequestBody requestBody = new MultipartBody.Builder()
.setType(MultipartBody.FORM)
.addFormDataPart("file", fileName, RequestBody.create(MediaType.parse("image/jpeg"), imageData))
.build();
Request uploadRequest = new Request.Builder()
.url(uploadUrl)
.post(requestBody)
.build();
try (Response response = client.newCall(uploadRequest).execute()) {
if (response.isSuccessful()) {
String responseData = response.body().string();
System.out.println("远程服务器返回的数据:" + responseData);
} else {
System.out.println("图像上传失败,错误码:" + response.code());
}
} catch (IOException e) {
e.printStackTrace();
}
}
}