php+ajax文件上传
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文件上传的更多相关文章
- AJAX文件上传实践与分析,带HTML5文件上传API。
对于HTML5已经支持AJAX文件上传了,但如果需要兼容的话还是得用一点小技巧的,HTML5等等介绍,先来看看以前我们是怎么写的. 网上可能会有一些叫AJAX文件上传插件,但在AJAX2.0之前是不可 ...
- 兼容ie的jquery ajax文件上传
Ajax文件上传插件很多,但兼容性各不一样,许多是对ie不兼容的,另外项目中是要求将网页内容嵌入到桌面端应用的,这样就不允许带flash的上传插件了,如:jquery uploadify...悲剧 对 ...
- jQuery插件AjaxFileUpload实现ajax文件上传
转自:http://www.cnblogs.com/linjiqin/p/3530848.html jQuery插件AjaxFileUpload用来实现ajax文件上传,该插件使用非常简单,接下来写个 ...
- ajax 文件上传,ajax
ajax 文件上传,ajax 啥也不说了,直接上代码! <input type="file" id="file" name="myfile&qu ...
- 转: 如何实现jQuery的Ajax文件上传
[PHP文件上传] 在开始之前,我觉得是有必要把通WEB上传文件的原理简单说一下的.实际上,在这里不管是PHP,JSP,还是ASP处理上传的文件,其实都是WEB早已把文件上传到服务器了,我们只是运用上 ...
- [代码示例]用Fine Uploader+ASP.NET MVC实现ajax文件上传
原文 [代码示例]用Fine Uploader+ASP.NET MVC实现ajax文件上传 Fine Uploader(http://fineuploader.com/)是一个实现 ajax 上传文件 ...
- springmvc+ajax文件上传
环境:JDK6以上,这里我是用JDK8,mysql57,maven项目 框架环境:spring+springmvc+mybaits或spring+springmvc+mybatis plus 前端代码 ...
- iframe实现Ajax文件上传效果示例
<!doctype html> <html> <head> <meta charset=utf-8> <head> <title> ...
- 使用ajax提交form表单,包括ajax文件上传【转载】
[使用ajax提交form表单,包括ajax文件上传] 前言 转载:作者:https://www.cnblogs.com/zhuxiaojie/p/4783939.html 使用ajax请求数据,很多 ...
随机推荐
- Vue基础之es6
什么是ECMAScript,以及es6的诞生? 1997年 ECMAScript 1.0 诞生 1999年12月 ECMAScript 3.0诞生,它 是一个巨大的成功,在业界得到了广泛的支持,它奠定 ...
- Web_0001:关于阿里云防盗链Referer,CDN加速,OSS自定义域名的操作
1,防盗链Referer 防止非法域名访问 OSS 数据,设置白名单: 允许为空 : 表示当从浏览器直接打开OSS资源时有效. 示例说明: 我在www.sojson.com里有一个www.baidu. ...
- 13、 使用openpyxl存储周杰伦的歌曲信息
import requests import openpyxl res = requests.get('https://c.y.qq.com/soso/fcgi-bin/client_search ...
- [再寄小读者之数学篇](2014-06-26 Logarithmical Sobolev inequality using BMO space)
$$\bex q>3\ra \sen{\n f}_{L^\infty} \leq C(q)\sez{ 1+\sen{\n f}_{BMO} \ln^\frac{1}{2}\sex{e+\sen{ ...
- [物理学与PDEs]第5章第5节 弹性动力学方程组及其数学结构
5.5.1 线性弹性动力学方程组 1. 线性弹性动力学方程组 $$\beex \bea 0&=\rho_0\cfrac{\p{\bf v}}{\p t}-\Div_x{\bf P}-\r ...
- 四十三、Linux 线程——线程同步之线程信号量
43.1 信号量 43.1.1 信号量介绍 信号量从本质上是一个非负整数计数器,是共享资源的数目,通常被用来控制对共享资源的访问 信号量可以实现线程的同步和互斥 通过 sem_post() 和 sem ...
- 对OAuth协议的认识
一. OAuth是什么 OAuth 是Open Authorization的简写.OAuth 协议为用户资源的授权提供了一个安全的.开放而又简易的标准. 通俗地说,就是当我们想把自己系统的某些功能暴露 ...
- crontab每隔1天执行【转】
有个需求,crontab任务需要每隔1天执行,有俩个方法,如下: 第一种方法,利用crontab执行 */ * * shellscript 但是这种方法有个问题,就是有个月份有31天,导致本月31号和 ...
- [Linux]目录x权限对文件操作的影响
问题 我们常使用linux以下命令 cd 进入目录 ls 列出目录中的文件 或者直接打开目录中的文件 以上操作对于目录权限位的设置来说,是有一定迷惑性的,如表格所示 cd进入该目录 cd进入该目录 ...
- Flask开发微电影网站(五)
后台管理页面是系统管理员登录后对网站进行管理的前端页面 后台登录页面,如下图所示 管理员登录后的页面,如下图所示 管理员登录后,在右上角显示的管理员信息,如下图所示 管理员登录后,在页面中间部分的左侧 ...