1. pom.xml  -  dependency 추가

https://mvnrepository.com/

 

Maven Repository: Search/Browse/Explore

Simple API to run JMeter performance tests in an VCS and programmers friendly way. Last Release on Oct 28, 2021

mvnrepository.com

httpmime 검색해서 원하는 버전 선택해서 pom.xml에 dependency를 추가
추가된 것을 확인

2. 라이브러리를 이용하여 post (multipart/form-data) 요청

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.nio.charset.Charset;

import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.ContentType;
import org.apache.http.entity.mime.MultipartEntityBuilder;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;

public class Main {
	public static void main(String[] args) throws IOException {
		CloseableHttpClient httpClient = HttpClients.createDefault();
		HttpPost uploadFile = new HttpPost("URL");
		MultipartEntityBuilder builder = MultipartEntityBuilder.create();
		builder.addTextBody("name", "sejin");
		builder.addTextBody("key", "value");

		File file = new File("C:\\Users\\tpwls\\Downloads\\test.png");

		builder.addBinaryBody("image", new FileInputStream(file), ContentType.APPLICATION_OCTET_STREAM, file.getName());

		HttpEntity multipart = builder.build();
		uploadFile.setEntity(multipart);
		CloseableHttpResponse response = httpClient.execute(uploadFile);
		HttpEntity responseEntity = response.getEntity();

		InputStream is = responseEntity.getContent();
		BufferedReader r = new BufferedReader(new InputStreamReader(is, Charset.forName("UTF-8")));

		String line = null;
		StringBuilder sb = new StringBuilder();

		while ((line = r.readLine()) != null) {
			sb.append(line);
		}

		System.out.println(sb.toString());
	}
}

 

+ Recent posts