<script type="text/javascript"> function creatXMLHttpRequest(){ var obj =null; if(window.ActiveObject){ obj = new ActiveObject("Microsoft.XMLHTTP"); }else{ obj = new XMLHttpRequest(); } return obj; } window.onload=function(){ fileinfo=document.getElementById('myheads').files[0]; } function uploaded(){ var xhr = creatXMLHttpRequest(); var fd = new FormData(); fd.append('myheads',fileinfo); xhr.onreadystatechange=function(){ if(xhr.readyState==4 && xhr.status ==200){ alert(xhr.responseText); } } xhr.open('post','jsonupload.php'); xhr.send(fd); } </script> <input type="file" id='myheads' name="myhead" value="wenjian"/> <input type="button" value="上傳" onclick="uploaded();"/> </body>
上圖爲fileinfo的內容javascript
window.onload=function(){ fileinfo=document.getElementById('myheads').files[0]; // console.log(fileinfo); } function uploaded(){ var xhr = creatXMLHttpRequest(); var fd = new FormData(); fd.append('myheads',fileinfo); document.getElementById('img').src=window.URL.createObjectURL(fileinfo); xhr.onreadystatechange=function(){ if(xhr.readyState==4 && xhr.status ==200){ alert(xhr.responseText); } } xhr.open('post','jsonupload.php'); xhr.send(fd); }
總結:HTML5新特性FormDataphp
能夠經過:java
fileinfo=document.getElementById('myheads').files[0];來捕獲客戶端上傳文件的信息json
將須要上傳的文件信息載入到FormData對象內部app
fd.append('finfo',fileinfo);
post
而後經過 window.URL.createObjectURL(fileinfo);文件的url地址信息,二進制編碼存在編碼