function getXMLHTTPRequest() { var request = false; try { //firefox request = new XMLHttpRequest(); } catch(error1) { try { //some version of ie request = new ActiveXObject("Msxml2.XMLHTTP"); } catch(error2) { try { //some version of ie request = new ActiveXObject("Microsoft.XMLHTTP"); } catch(error3) { request = false; }//close catch 3 }//close catch 2 }//close catch 1 return request; }//end getXMLHTTPRequest //add some code here var file = event.dataTransfer.files[0]; var reader = new FileReader(); var preview = new FileReader(); reader.onloadend = function() { binary = reader.result; //begin ajax request = getXMLHTTPRequest(); request.onreadystatechange = function() { if(request.readyState == 4 && request.status == 200) { result = request.responseText; eval("result=" + request.responseText); if(result.error == "") { $("#imgHolder").removeClass("bgLoading"); $("#imgHolder").html(""); imgHolder.innerHTML = "Picture that was dragged and dropped"; allImages.innerHTML += ""; } $("#allImages").animate({ scrollTop: $('#allImages')[0].scrollHeight+10}, 1500); }//end error }//end onreadystatechange if(request.sendAsBinary != null){ request.open('POST', url + '?binary=true', true); var boundary = 'xxxxxxxxx'; var body = '--' + boundary + '\r\n'; body += "Content-Disposition: form-data; name='image'; filename='" + file.name + "'\r\n"; body += "Content-Type: application/octet-stream\r\n\r\n"; body += binary + "\r\n"; body += '--' + boundary + '--'; request.setRequestHeader('content-type', 'multipart/form-data; boundary=' + boundary); request.sendAsBinary(body); }else { request.open('POST', url + '?binary=false', true); request.setRequestHeader('UP-FILENAME', file.name); request.setRequestHeader('UP-SIZE', file.size); request.setRequestHeader('UP-TYPE', file.type); request.send( window.btoa(binary) ); } preview.onloadend = function(){ }; }//end onloadend reader.readAsBinaryString(file); preview.readAsDataURL(file); return false; }; //end ondrop