1. 问答
  2. 问答详情

jQuery传递数据同时上传文件到php后台的问题

手机上传图片程序如下:
1.前端有一个上传框,上传图片后会自动生成预览图
2.如下程序是部分js文件
3.后台post.php页面用post方法或者file方法都收不到上传的文件,text文本数据可以收到
4.前端有获得 $("#picture").val() 的代码,预览图可以正常生成

function postTopic(){    
  var cid = $('#cid').val();    
  if( parseInt(cid) < 1 )
  {        
    alert("请选择分类");        
    $('#cid').focus();        
    return false;    
  }    
  var msg = $.trim($('textarea[name=message]').val());    
      
  var picture = "";    
  if( $("#picture").val() == "" )    
  {        
    if( msg.length < 1 )        
    {            
      $('textarea[name=message]').focus();            
      return false;        
    }    
  }else{        
    picture = $("#previewImg").attr("src");    
  }    
  $(".loading").show();    
  $("#add-topic-form").hide();    
  $.post("post.php",{"do":"addTopic","cid":cid,"msg":msg,"picture":$("#picture").val()},
     function(data){     
       if (data.result == "success")    
       {        
         //无关代码    
       },}"json");    
  return false;
}


1个回答

0

采纳

文件上传有2中方式:二进制流和base64编码

jquery.form.js这个插件,会帮你处理文件(如果支持H5的FormData就用这个,否则iframe模拟),

文件你直接用"picture":$("#picture").val()这样获取到的是文件名称,不是文件2进制数据


撰写答案

验证码
点击刷新