无刷新上传图片,ajax 和 iframe
iframe 上传
upload.html
| 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 31 32 33 34 | <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Title</title>    <script src="https://www.yhys.com/jquery/3.2.1/jquery.min.js"></script></head><body><iframe id="upload_target"name="upload_target"src="upload.php"style="width:0;heigth:0;overflow:hidden;border:0;position: absolute; left:-500px;"></iframe><img id="tag_img"src="http://www.pangdan.com/images/chunwan.gif"/><form enctype="multipart/form-data"action="upload.php"method="post"target="upload_target">    <input type="file"id="fileipt"name="userfile"class="file"value=""/>    <input type="submit"name="uploadimg"value="上传"id="submit"hidden /></form><script type='text/javascript'>    varlastFileName;   $("#fileipt").change(function() {       varfileName = $(this).val();       varpos = fileName.lastIndexOf("\\");       fileName = fileName.substr(pos+1, fileName.length);  // 截取出文件名 因为会带路径       lastFileName = fileName;       $("#submit").click();   });    functionstopSend($url) {        $("#tag_img").attr("src",$url);    }</script></body></html> | 
upload.php
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <?php/** * Created by PhpStorm. * User: chenxiaolong * Date: 7/21/17 * Time: 10:24 *///var_dump($_FILES);$file=$_FILES['userfile'];if($file['size'] != 0) {    $name=rand(0,500000).dechex(rand(0,10000)).".jpg";    move_uploaded_file($file['tmp_name'],$name);    if($name) {        echo"<script>parent.stopSend('$name')</script>";    }} | 
ajax 无刷新上传图片
| 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | <buttonid="J_headimg"style="font-size: 12px;margin-left: 10px;width: 70px;height: 30px;background: #10AD5A;color: #fff;">修改头像</button><inputtype="file"name="pic"id="pic"hidden accept="image/*"/><inputtype="text"id="headimg"name="headimg"hidden><script>  $("#J_headimg").click(function() {    $("#pic").click();    return false;  });  $("#pic").change(function() {    var $that = $(this);    var imgPath = $(this).val();    if (imgPath == "") {      alert("请选择上传图片!");      return;    }    //判断上传文件的后缀名    var strExtension = imgPath.substr(imgPath.lastIndexOf('.') + 1);    if (strExtension != 'jpg' && strExtension != 'gif'            && strExtension != 'png' && strExtension != 'bmp' && strExtension != 'jpeg') {      alert("请选择图片文件");      return;    }    var formData = new FormData();    formData.append('file', $that[0].files[0]);// php 用$_FILES['file']接收    console.log($that[0].files[0]);    $.ajax({      type: "POST",      url: "__URL__/uploadimg",      data: formData,      cache: false,      processData: false,// 需要加这两个参数      contentType: false,      success: function(data) {        var obj = JSON.parse(data);        if(obj.status == 0) {          $("#preimg").attr("src","Public/Upload/" + obj.data);          $("#headimg").val(obj.data);        } else {          alert(obj.data);        }      },      error: function(XMLHttpRequest, textStatus, errorThrown) {        alert("上传失败,请检查网络后重试");      }    });  });</script> | 
对应uploadimg方法
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | publicfunctionuploadimg() {   $file= $_FILES['file'];   $arr= array('jpg'=>'image/jpeg','png'=>'image/png','gif'=>'image/gif','bmp'=>'image/bmp');   if($ext= array_search($file['type'],$arr)) {      $rand= uniqid();      $filename= "Public/Upload/avatar/{$rand}.{$ext}";   } else{      exit(json_encode(array('status'=>2,'data'=>'只支持图片上传')));   }   $r= move_uploaded_file($file['tmp_name'],$filename);   if($r) {      exit(json_encode(array('status'=>0,'data'=>"avatar/$rand.$ext")));   } else{      exit(json_encode(array('status'=>1,'data'=>'上传失败')));   }} | 
 
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号