HTML5+jQuery+Ajax 实现上传图片
2015-10-30 00:00
741 查看
摘要: var relFile = $("#fileBtn")[0].files[0];//图片文件流
var objUrl = getObjectURL(relFile) ;//生成预览
JavaScript代码:
HTML代码:
var objUrl = getObjectURL(relFile) ;//生成预览
JavaScript代码:
var imgNum = 1; var formData = new FormData();//初始化表单数据 var upload = new Array(); //实例化一个数组,来储存多张图片 function upload(){ if(imgNum > 9){ layerMsg('最多上传9张图片'); return false; } var relFile = $("#fileBtn")[0].files[0];//图片文件流 var objUrl = getObjectURL(relFile) ;//生成预览 var imgHmtl = '';//初始化html // 实现图片预览 if (objUrl) { var ident = 'img'+imgNum; //formData.append('img'+imgNum, relFile); imgArr[ident] = relFile; imgHmtl += '<dl>'+ '<dt><img src="'+objUrl+'" id="img" /></dt>'+ '<dd onclick="delImg(this, "'+ident+'")"></dd>'+ '</dl>' ; $('#upLoadImg').append(imgHmtl); $('#upLoadImg').show(); imgNum++; } } //删除图片 function delImg(obj, ident){ $(obj).parent('dl').remove();//移除元素 imgArr[ident] = '';//删除数组元素 var ob = $('#upLoadImg').find('dl');//判断是否为删除完毕 var num = 0; ob.each(function(n, i){ if(i){ num = 1; return; } }) if(0 == num){ $('#upLoadImg').hide(); } } //预览图片,适配多个浏览器 function getObjectURL(file) { var url = null ; if (window.createObjectURL!=undefined) { // basic url = window.createObjectURL(file) ; } else if (window.URL!=undefined) { // mozilla(firefox) url = window.URL.createObjectURL(file) ; } else if (window.webkitURL!=undefined) { // webkit or chrome url = window.webkitURL.createObjectURL(file) ; } return url ; } // 提交给后台 $('#btnSubmit').on('click',function(){ //获取图片数组 for(var key in imgArr){ if(imgArr[key] != ''){ formData.append(key, imgArr[key]); } } formData.append('interface', 'Dynamic/relDynamic'); $.ajax({ url: interface, type: 'post', data: formData, processData : false, contentType : false, // processData : false, contentType : false,这两段一定要写上,不然和jQuery冲突。 success: function(res){ if(1 == res.code){ openAlertAfter(res.message); } else { layerMsg(res.message); } }, error: function(){ layerMsg('提交失败'); } }) });
HTML代码:
<label for="fileBtn"> <i class="you-ico picture-ico"></i>图片 <input type="file" id="fileBtn" onChange="upload()"> </label> <div id="upLoadImg" style="display:none"> <!-- <dl> <dt><img src="theme/images/logo.png" id="img" /></dt> <dd></dd> </dl> --> </div>
相关文章推荐
- C#图片上传效果实例分析
- 独立图片服务器的图片上传的解决方式
- JavaScript多图片上传案例
- 图片上传之前检查大小、尺寸、格式并预览的js代码
- 利用H5特性FormData实现不刷新文件上传
- javascript 图片上传预览-兼容标准
- FCKeditor 图片上传进度条不动的解决方法
- 配置fckeditor 实现图片的上传
- PHP swfupload图片上传的实例代码
- 使用PHP和HTML5 FormData实现无刷新文件上传教程
- thinkphp实现图片上传功能分享
- jQuery插件jcrop+Fileapi完美实现图片上传+裁剪+预览的代码分享
- 基于C# winform实现图片上传功能的方法
- nodejs 整合kindEditor实现图片上传
- Android中使用GridView实现仿微信图片上传功能(附源代码)
- Yii结合CKEditor实现图片上传功能
- ASP.NET简单好用功能齐全图片上传工具类(水印、缩略图、裁剪等)
- asp.net文件上传解决方案(图片上传、单文件上传、多文件上传、检查文件类型)
- Asp.net 2.0 无刷新图片上传 显示缩略图 具体实现
- FCKeditor编辑器添加图片上传功能及图片路径问题解决方法