javascript 코드:
<html><head><meta charset="UTF-8"> <style> img{ max-width:80%; display:block; } </style> </head><body><input id="img" type="file"> <p id="text"></p> <script> var up=function(o,success,x,file){ if(typeof success=='function') file=o; x=new XMLHttpRequest() x.open('POST','http://127.0.0.1/up.php?r='+Math.random(),1) x.onload=function(r){ r=x.responseText if(success)//if r.pid and the twice parameter existing return success(r) } x.send(file) } </script> <script> img.onchange=function(){ if(!this.files||!this.files[0]) return alert('选取文件出错!') var imgfile=this.files[0] if(imgfile.type.indexOf('image')!=0) return alert('这不是一个图像或音频!') up(imgfile,function(r){ text.innerHTML=r }) } </script> </body> </html>
백엔드 코드:
<?php header('Access-Control-Allow-Origin:*'); header("Content-Type:text/json;charset=utf-8"); echo json_encode($_FILES); ?>
반환 데이터는 []
응답 내용:
javascript code :
<html><head><meta charset="UTF-8"> <style> img{ max-width:80%; display:block; } </style> </head><body><input id="img" type="file"> <p id="text"></p> <script> var up=function(o,success,x,file){ if(typeof success=='function') file=o; x=new XMLHttpRequest() x.open('POST','http://127.0.0.1/up.php?r='+Math.random(),1) x.onload=function(r){ r=x.responseText if(success)//if r.pid and the twice parameter existing return success(r) } x.send(file) } </script> <script> img.onchange=function(){ if(!this.files||!this.files[0]) return alert('选取文件出错!') var imgfile=this.files[0] if(imgfile.type.indexOf('image')!=0) return alert('这不是一个图像或音频!') up(imgfile,function(r){ text.innerHTML=r }) } </script> </body> </html>
백엔드 코드:
<?php header('Access-Control-Allow-Origin:*'); header("Content-Type:text/json;charset=utf-8"); echo json_encode($_FILES); ?>
반환되는 데이터는 []
비동기 파일 업로드의 경우 FormData를 사용해야 합니다. 예:
var oMyForm = new FormData(); oMyForm.append("file", file); x.send(oMyForm);