java가 세그먼트로 파일을 읽고 HTTP를 통해 업로드하는 방법

본고는 자바가 단락을 나누어 파일을 읽고 HTTP를 통해 업로드하는 방법을 실례로 설명한다.여러분에게 참고할 수 있도록 나누어 드리겠습니다.구체적으로 다음과 같습니다.
1. 먼저 RandomAccessFile로 파일을 세그먼트화합니다.
2. 세그먼트를 나누어 나눈 내용을 http에 업로드

URL url = new URL(actionUrl);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
/**  Input、Output, Cache */
con.setDoInput(true);
con.setDoOutput(true);
con.setUseCaches(false);
/**  method=POST */
con.setRequestMethod("POST");
/** setRequestProperty */
con.setRequestProperty("Connection", "Keep-Alive");
con.setRequestProperty("Charset", "UTF-8");
con.setRequestProperty("Content-Type",
 "multipart/form-data;boundary=" + boundary);
/**  DataOutputStream */
DataOutputStream ds = new DataOutputStream(con.getOutputStream());
ds.writeBytes(twoHyphens + boundary + end);
ds.writeBytes("Content-Disposition: form-data; "
 + "name=\"file1\";filename=\"" + newName + "\"" + end);
ds.writeBytes(end);
/**  FileInputStream */
FileInputStream fStream = new FileInputStream(uploadFile);
/**  1024bytes */
int bufferSize = 1024;
byte[] buffer = new byte[bufferSize];
int length = -1;
/**   */
while ((length = fStream.read(buffer)) != -1)
{
/**  DataOutputStream  */
ds.write(buffer, 0, length);
}
ds.writeBytes(end);
ds.writeBytes(twoHyphens + boundary + twoHyphens + end);
/** close streams */
fStream.close();
ds.flush();

본고에서 기술한 것이 여러분의 자바 프로그램 설계에 도움이 되기를 바랍니다.

좋은 웹페이지 즐겨찾기