티스토리 뷰
멀티 파일 셀렉트 및 멀티 파일 업로드에 대한 요건이 들어와서 개발중,
위 링크대로 개발했을때 서버단을 잘 맞춰줘야 하는데, 사내 F/W에서 사용중인 FileUpload에 그대로 적용하려하니, 잘 안됐다.
문제 원인은, Content-Type에 boundary 가 자동으로 삽입이 되지 않았던 터.
(boundary 참고 : [링크] HTTP multipart/form-data raw 데이터 형태 블로그 포스팅 펌. )
해답은 아래 링크에 있었다.
Content-Type을 임의로 multipart/form-data로 지정하지 않고 FormData 객체 생성 후,
xmlHttpRequest.send(FormData)를 하면, 자동으로 boundary가 생성, 삽입되었다.
서버단 수정 없이 성공적으로 파일 업로드 완료!
아래는 내가 사용한 JavaScript 예제 코드.
function uploadFile (file) {var li = document.createElement("li"),
div = document.createElement("div"),
img,
xhr,
formData,
result,
fileList = document.getElementById("file-list");
li.appendChild(div);
xhr = new XMLHttpRequest();
formData = new FormData();
formData.append("f_cmd", 102);
formData.append("file", file);
// When File uploaded
xhr.addEventListener("load", function () {
result = JSON.parse(ComGetEtcData(xhr.responseText,'ibupSessionResult'));
if(result.code==0){
img = document.createElement("img");
img.src = 'FileDownload?key=' + ComGetEtcData(xhr.responseText,'fileKey');
li.appendChild(img);
fileList.appendChild(li);
} else {
ComShowMessage("FileUpload Failed!");
}
}, false);
// Send the file
xhr.open("post", "xxx.do", true);
xhr.send(formData);
}
'DailyStep > IT' 카테고리의 다른 글
[모의해킹] Paros, BurpSuite, 그리고 인터셉트 (0) | 2016.07.19 |
---|---|
[Java] RandomStringUtils 와 SecureRandom (0) | 2016.07.19 |
about JONSP (0) | 2016.02.05 |
Instagram API 와 Instafeed.js (0) | 2015.02.13 |
계층구조 SQL 작성 팁 - ROOT/LEAF 판별 (0) | 2015.01.06 |
- Total
- Today
- Yesterday
- 정신병원에서 뛰쳐나온 디자인
- 행동유도성
- 성경읽기
- 작고깊은모임
- 앤트 빌드
- 강명식
- 예수를 자랑하자
- 하나님을 자랑하라
- 벧엘
- 창세기
- 골방기도
- 에릭 슈미트
- 요셉
- 매일성경
- deep copy
- html5
- 하나님과 동행하는 삶
- 아이맥스 명당
- affordance
- 일어나 홍해를 건너자
- shallow copy
- ant build
- 땅의 의미
- How Google Works
- Tim Tebow
- jsonp
- cors
- Dimension
- 큐티
- 앨런 쿠퍼
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |