jaxFileUpload插件异步上传图片
第一步:引入jquery文件和jaxFileUpload文件
文件位置:https://pan.baidu.com/s/1jHEyIyy
第二步,前端:
<div class="form-group">
<label class="col-xs-12 col-sm-3 col-md-2 control-label"><span class="text-danger"></span> 用户头像</label>
<div class="col-sm-9 col-xs-12">
<input type="file" name="avatar" id="avatar" value=""/>
<input type="hidden" name="avatar_name" id="avatar_name" value=""/> </div>
</div> <div class="form-group" id="img_form_group" style="<?php if(!$member_common['avatar']){echo 'display:none';}?>">
<label class="col-xs-12 col-sm-3 col-md-2 control-label"><span class="text-danger"></span> </label>
<div class="col-sm-9 col-xs-12">
<img width="100px;" <?php echo $member_common['avatar']?'src="/data/upload/member_avatar/'.$member_common['avatar'].'"':'';?> />
</div>
</div>
function ajaxFileUpload() {
$.ajaxFileUpload
(
{
url:'/index.php/admin/member/memberAjax?do=upload_avatar',
secureuri:false,
fileElementId:'avatar',
dataType: 'json',
success: function (data, status)
{ if(data.code !=1){
layer.msg(data.msg);
}else{
$('input[name="avatar_name"]').val(data.data.avatar_name);
$("#img_form_group").find('img').attr('src',data.data.avatar_url);
$("#img_form_group").show();
} $('input[name="avatar"]').bind('change',uploadChange);
},
error: function (data, status, e)
{
layer.msg('上传失败');
$('input[name="avatar"]').bind('change',uploadChange);
}
}
)
}
function uploadChange(){
var filepatd=$("#avatar").val();
var extStart=filepatd.lastIndexOf(".");
var ext=filepatd.substring(extStart,filepatd.length).toUpperCase();
if(ext!=".PNG"&&ext!=".GIF"&&ext!=".JPG"&&ext!=".JPEG"){
layer.msg("文件格式错误");
$("#avatar").attr('value','');
return false;
}
if ($("#avatar").val() == '') return false;
ajaxFileUpload();
} $(function(){ $('#avatar').change(function(){uploadChange()});
})
第三步,ci框架后端:
case 'upload_avatar':
if (is_uploaded_file($_FILES['avatar']['tmp_name'])) {
try{
$img_arr = imgUpload(
array(
'path' => FCPATH . 'data/upload/member_avatar',
'field' => 'avatar',
'pre' => 'avatar_',
)
);
$file_name=$img_arr[0]['file_name'];
$file_name = (string) $file_name;
if(!is_file(FCPATH.DATA_UPLOAD.'member_avatar/'.$file_name)){
throw new Exception("上传失败");
} $data=array();
$data['avatar_name']=$file_name;
$data['avatar_url']=getMemberAvatar($file_name);
$this->output(1,'上传成功', $data);
}catch(Exception $e){
$error_msg=$e->getMessage();
$error_msg=str_replace('<p>','',$error_msg);
$error_msg=str_replace('</p>','',$error_msg);
$this->output(400,$error_msg);
}
}else{
$this->output(400,"请选择上传的图片");
}
break;
第四步:
错误处理:http://blog.csdn.net/imlinjunjie/article/details/49403199
jaxFileUpload插件异步上传图片的更多相关文章
- thinkphp 使用插件异步上传图片或者文件
使用tp做一些上传的功能,的确挺方便.但是在一些特殊情况下无法单独的使用tp的上传功能, 或者需要做一些比较酷炫的上传效果,这里就需要用到框架了. 我在这里使用的是uploadify上传插件. 首先需 ...
- 异步上传图片,光用jquery不行,得用jquery.form.js插件
异步上传图片,光用jquery不行,得用jquery.form.js插件,百度一下下载这个插件,加jquery,引入就可以了 <form id="postbackground" ...
- C# 异步上传图片案例
好久没写博客了,都感觉自己快堕落了!今天随性写一篇关于异步上传图片的程序及插件! 说是程序及插件,其实程序占大头,所谓的插件只是两个JS.分别为:jquery.html5upload.js 和 jqu ...
- 使用Ajax异步上传图片的方法(html,javascript,php)
前两天项目中需要用到异步上传图片和显示上传进度的功能,于是找了很多外国的文章,翻山越岭地去遇上各种坑,这里写篇文章记录一下. HTML <form id="fileupload-for ...
- MVC异步上传图片到本地/服务器
这两天朋友问我,有没有异步上传图片到本地/服务器这种demo,他有用, 我就想,好吧, 那刚好周末了,整理一套出来. 主要用到的是jquery uploadify 这个juqery的插件 ,可以无刷新 ...
- Jquery实现异步上传图片
利用jQuery的ajax函数就可以实现异步上传图片了.一开始我是想在处理程序中,直接用context.Request.Files来获取页面中的input file,但是不知道为什么一次获取不了.网上 ...
- [Ajax] 使用Ajax异步上传图片文件(非Form表单提交)
通过表单Form提交来上传文件的方式这里就不说了: 下面介绍,通过js中使用ajax异步上传图片文件: 新建一个html页面和一个一般处理程序即可: 涉及思路: //发送2次Ajax请求完成js异步上 ...
- 利用KindEditor的uploadbutton实现异步上传图片
利用KindEditor的uploadbutton实现异步上传图片 异步上传图片最经常使用的方法就是图片在iframe中上传.这样仅仅须要刷新iframe.而不用刷新整个页面. KindEdi ...
- php结合jquery异步上传图片(ajaxSubmit)
php结合jquery异步上传图片(ajaxSubmit),以下为提交页面代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transi ...
随机推荐
- NOI2016
luoguP1712 [NOI2016]区间 这是一道送分题. 对于我这种每天抄题解不动脑子思维僵化得厉害的智障选手就是送命题. 一直在想端点排序各种Treap搞... 正解: 已知一些区间,如何判断 ...
- mongodb操作指令(一):数据库,集合,文档
数据库 查看所有数据库 show dbs 查看当前数据库 db 创建使用数据库use runoob 删除数据库 db.dropDatabase() 集合 创建集合db.createCollection ...
- (转)Wireshark "The NPF driver isn’t running…"(
转:http://blog.sina.com.cn/s/blog_4bfd07180100e3ar.html 前几天重装系统,装上了windows7 RC系统.昨天开始尝试装上了wireshark 这 ...
- ImageMagick convert多张照片JPG转成pdf格式,pdfunite合并PDF文件
在认识ImageMagick之前,我***的图像浏览软件是KuickShow,截图软件是KSnapShot,这两款软件都是KDE附带的软件,用起来也是蛮方便的.在一次偶然的机会中,我遇到了Imag ...
- STM32笔记——Power Controller(PWR)
The device requires a 1.8 to 3.6 V operating voltage supply (VDD). An embedded linear voltage regula ...
- elementUI中的隐藏组件el-scrollbar
细心的人儿都会发现elementUI官网的滚动条样式优美,但是elementUI中并未给出这个滚动条组件,打开调试页面发现用到了el-scrollbar.问一下度娘发现早就有前辈们发现了这个问题并给出 ...
- 《DSP using MATLAB》Problem 8.33
代码: %% ------------------------------------------------------------------------ %% Output Info about ...
- nodejs之连接mysql数据库
一:demo var mysql = require('mysql'); var connection = mysql.createConnection({ host : '192.16 ...
- 漫说安全|智能的云WAF,开挂的Web防御
“漫说安全”是我们推出的一个新栏目,以简洁明了的形式展现高深晦涩的云安全. 今天我们要讲的是智能的云WAF到底有啥“本领”,答案就在漫画里^_^ 漫画看完后估计你还会有些小疑问,不要着急,安全君特意准 ...
- 二分图——poj2446匈牙利算法
/* 怎么建图: 首先分集合:不能相连的点必然在一个集合里,即对角点 再确定怎么连边: 一个点可以向上下左右连边,如果遇到了洞则不行 dfs(i),让匹配到的点接受i作为match结果 寻找增广路时, ...