php+ajax文件上传

html:

<input id="user_real_name" class="input_show" type="text" value="" placeholder="姓名">

<input id="file1" class="ufile" type="file" name="file1" accept="image/gif,image/jpeg,image/jpg,image/png">

<input id="file2" class="ufile" type="file" name="file2" accept="image/gif,image/jpeg,image/jpg,image/png">

<input id="file3" class="ufile" type="file" name="file3" accept="image/gif,image/jpeg,image/jpg,image/png">

javascript:

var user_real_name = $("#user_real_name").val();
var fileObj1 = document.getElementById("file1").files[0]; // js 获取文件对象
var fileObj2 = document.getElementById("file2").files[0]; // js 获取文件对象
var fileObj3 = document.getElementById("file3").files[0]; // js 获取文件对象 var formFile = new FormData(); formFile.append("user_real_name",user_real_name);
formFile.append("file1", fileObj1);//加入文件对象
formFile.append("file2", fileObj2);//加入文件对象
formFile.append("file3", fileObj3); //加入文件对象 $.ajax({
url:"/User/userUpdate",
data:formFile,
type:"post",
dataType:"json",
processData :false, // 不处理发送的数据,因为data值是Formdata对象,不需要对数据做处理
contentType :false, // 不设置Content-type请求头
success:function(data){
    if(data.statusCode==200){
      console.log("成功");
}else{
console.log("失败");
    }
$("input[type=file]").val('');
},
error:function(){
console.log("错误");
  }
});

php:

$data['user_real_name']=$_POST['user_real_name'];

if(!empty($_FILES)){
  //有文件上传时
$msg['img1']='';
$msg['img2']='';
$msg['img3']='';
if(!empty($_FILES['file1'])){
$file['file']=$_FILES['file1'];
$url = ToolModel::UploadAws($file); //亚马逊云上传
$data["user_face_image"]=trim($url); //返回的文件路径
$msg['img1']=$data["user_face_image"];
}
if(!empty($_FILES['file2'])){
$file['file']=$_FILES['file2'];
$url = ToolModel::UploadAws($file); //上传
$data["user_back_image"]=trim($url); //返回的文件路径
$msg['img2']=$data["user_back_image"];
}
if(!empty($_FILES['file3'])){
$file['file']=$_FILES['file3'];
$url = ToolModel::UploadAws($file); //上传
$data["user_body_image"]=trim($url); //返回的文件路径
$msg['img3']=$data["user_body_image"];
}
}
$User = new UserModel();
$res =$User->userUpdate($uid,$data); //更新数据
if($res!==false){
$msg['statusCode']=200;
$msg['msg']='上传成功';
$this->ajaxReturn($msg,'JSON');
}else{
$msg['statusCode']=1000;
$msg['msg']='上传失败';
$this->ajaxReturn($msg,'JSON');
}
 

php+ajax文件上传的更多相关文章

  1. AJAX文件上传实践与分析,带HTML5文件上传API。

    对于HTML5已经支持AJAX文件上传了,但如果需要兼容的话还是得用一点小技巧的,HTML5等等介绍,先来看看以前我们是怎么写的. 网上可能会有一些叫AJAX文件上传插件,但在AJAX2.0之前是不可 ...

  2. 兼容ie的jquery ajax文件上传

    Ajax文件上传插件很多,但兼容性各不一样,许多是对ie不兼容的,另外项目中是要求将网页内容嵌入到桌面端应用的,这样就不允许带flash的上传插件了,如:jquery uploadify...悲剧 对 ...

  3. jQuery插件AjaxFileUpload实现ajax文件上传

    转自:http://www.cnblogs.com/linjiqin/p/3530848.html jQuery插件AjaxFileUpload用来实现ajax文件上传,该插件使用非常简单,接下来写个 ...

  4. ajax 文件上传,ajax

    ajax 文件上传,ajax 啥也不说了,直接上代码! <input type="file" id="file" name="myfile&qu ...

  5. 转: 如何实现jQuery的Ajax文件上传

    [PHP文件上传] 在开始之前,我觉得是有必要把通WEB上传文件的原理简单说一下的.实际上,在这里不管是PHP,JSP,还是ASP处理上传的文件,其实都是WEB早已把文件上传到服务器了,我们只是运用上 ...

  6. [代码示例]用Fine Uploader+ASP.NET MVC实现ajax文件上传

    原文 [代码示例]用Fine Uploader+ASP.NET MVC实现ajax文件上传 Fine Uploader(http://fineuploader.com/)是一个实现 ajax 上传文件 ...

  7. springmvc+ajax文件上传

    环境:JDK6以上,这里我是用JDK8,mysql57,maven项目 框架环境:spring+springmvc+mybaits或spring+springmvc+mybatis plus 前端代码 ...

  8. iframe实现Ajax文件上传效果示例

    <!doctype html> <html> <head> <meta charset=utf-8> <head> <title> ...

  9. 使用ajax提交form表单,包括ajax文件上传【转载】

    [使用ajax提交form表单,包括ajax文件上传] 前言 转载:作者:https://www.cnblogs.com/zhuxiaojie/p/4783939.html 使用ajax请求数据,很多 ...

随机推荐

  1. 2018年秋季学期《c语言程序设计》编程总结

    <c语言程序设计>第四周编程总结 <c语言程序设计>第五周编程总结 <c语言程序设计>第六周编程总结 <c语言程序设计>第七周编程总结 <c语言程 ...

  2. DUMP2 企业级电商项目

    正常设计数据库表,按照数据流向. ~~闭环核心业务 [1用户]登录 =>浏览[2分类]+浏览[3商品]=>加入[4购物车]=>结算[5订单]+[6收货地址]=>[7支付] [购 ...

  3. LinQ简单增、删、改、查

    一.简单介绍 1.LinQ to Sql类(NET Language Integrated Query (LINQ) ) LINQ定义了大约40个查询操作符,如select.from.in.where ...

  4. 玩转ubuntu之初体验

    安装的是ubuntu16.04.1,分区和具体细节就不多说了,非常简单 安装完之后要做的几件事: 1.设置root密码 #设置root密码 sudo passwd root 2.检查并更新系统 #ub ...

  5. 杨辉三角(用for循环)

    public class Test413__________________ { public static void main(String[] args) { int rows = 10; for ...

  6. 【easy】404. Sum of Left Leaves

    求所有左节点的和. /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; ...

  7. SQL Server2016安装

    VS2017已经发布10多天了,这几天正好要重新做系统.所以想着把SQL Server和VS都做一次升级.VS2017只需要下载一个安装包就可以进行在线安装.但是SQL Server2016安装时会碰 ...

  8. SpringBoot配置

    多模块Maven项目 .gitignore文件 .idea *.iml targetout log tmp test 父模块pom文件 <?xml version="1.0" ...

  9. uboot、内核、根文件系统启动流程

    [1]Uboot的启动流程  Uboot的启动分为两个阶段.  第一阶段:设置异常向量表,设置ARM核为svc模式,关cache和关mmu,  关看门狗,初始化时钟,串口,内存,初始化栈空间,清bss ...

  10. Penettation testing with the bush Shell

    1.  Network Reconnaissance first we can use the command to gather the site information by whois eg : ...