2014-01-06 3 views
1

파일 판독기 API를 사용하여 서버에 데이터를 보내려고합니다. 지금까지 readAsBinaryString을 더 이상 사용할 수 없다는 것을 알아 냈습니다. (더 이상 사용되지 않습니다.) 대신 readAsArrayBuffer를 사용해야합니다.본문으로 arrayBuffer 보내기

또한 본문을 요청서와 함께 보내야합니다. 그래서 내 초기 요청이처럼 보였다 :

var binaryString= fileData; //populated earlier from readAsBinaryString() 

var body = ""; 
body += ... 
body += binaryString; 

xhr.open("POST", url, true); 
xhr.setRequestHeader("Content-Type", "multipart/form-data;..."); 
xhr.send(); 

내가 arrayBuffer을 수행 할 때이를 사용할 수없는 것. arrayBuffer를 문자열로 변환하려고 시도했지만 큰 파일의 경우 너무 많은 메모리를 사용합니다. 그래서 내 질문에 어떻게 ArrayBuffer 데이터 및 시체를 동시에 보낼 수 있습니다.

답변

0

그래서 나는 내가해야 할 일을 알아 냈습니다.

본문을 보내는 대신 새 FormData() 개체를 만들어 그런 식으로 첨부해야했습니다.

var formDataSend = new FormData(); 

formDataSend.append("key", "value..."); 
... 
formDataSend.append("file", fileData, "fileName.jpg"); //fileData populated earlier from readAsBinaryString() 

xhr.open("POST", url, true); 
xhr.send(formDataSend); 
: 그것은이 같은

보일 것이다 그래서

관련 문제