Multipart Overview with java

YDH·2020년 12월 22일
0
  • java example / Boundary Example with apache MultipartEntityBuilder
    - multipartEntitybuilder class와 ContentType.class한번 다시 코드 소스 봐보면 해석을 할 수 있는 수준이다.
package test;

import java.io.File;
import java.io.IOException;
import java.nio.charset.Charset;

import org.apache.commons.io.IOUtils;
import org.apache.http.HeaderElement;
import org.apache.http.HttpEntity;
import org.apache.http.entity.ContentType;
import org.apache.http.entity.mime.HttpMultipartMode;
import org.apache.http.entity.mime.MultipartEntityBuilder;
import org.apache.http.entity.mime.content.FileBody;

public class testHttpEntityBuilder {
	public static void main(String[] args) throws UnsupportedOperationException, IOException {
		
		MultipartEntityBuilder entityBuilder = MultipartEntityBuilder.create();
		entityBuilder.setContentType(ContentType.create("multipart/mixed"));
		entityBuilder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
		// apache method의 addPart이후에 붙여지는   Setcharset과 setcontentType은 의미가 없다.
		entityBuilder.addTextBody("name", "text", ContentType.create("text/plain", "utf-8"));
		entityBuilder.addTextBody("name2", "{\"what\":\"text2\"}", ContentType.APPLICATION_JSON);
		File file = new File("./src/main/resource/csvFile/multipleDataWithHeader.csv");
//		FileBody filebody = new FileBody(file, ContentType.APPLICATION_OCTET_STREAM, "fileName");
		FileBody filebody = new FileBody(file);
		entityBuilder.addPart("file", filebody);
		HttpEntity reqEntity = entityBuilder.build();
		
		
		for(HeaderElement header :reqEntity.getContentType().getElements()) {
			System.out.println(header.getName() + "  " + header.getValue());
		}
		String body = IOUtils.toString(reqEntity.getContent(), Charset.defaultCharset());
		System.out.println(body);
	}
}
profile
Record My daily life. Then, feedback yourself.

0개의 댓글