全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

angularjs实现多张图片上传并预览功能

本文实例为大家分享了angularjs上传多张图片并预览的具体代码,供大家参考,具体内容如下

directive.js

/* 
 * 多图片上传及预览指令(需指定图片类名) 
 * 
 */ 
 
angular.module('routerModule').directive('fileModel', ['$parse', 'fileReader', function($parse, fileReader) { 
 return { 
 restrict:'A', 
  link:function(scope, element, attrs, ngModel) { 
  var model = $parse(attrs.fileModel); 
  var modelSetter = model.assign; 
  var imgviewID = attrs["imgViewId"]; 
  var imgView = angular.element(document.querySelector("."+imgviewID)); 
  element.bind('change', function(event) { 
  scope.$apply(function() { 
   modelSetter(scope, element[0].files[0]); 
  }); 
  //附件预览 
  scope.file = (event.srcElement || event.target).files[0]; 
  fileReader.readAsDataUrl(scope.file, scope).then(function(result) { 
   imgView.attr("src",result); 
  }); 
  }); 
 } 
 } 
}]); 
 
angular.module('routerModule').factory('fileReader', ["$q", "$log", function($q, $log) { 
 var onLoad = function(reader, deferred, scope) { 
 return function() { 
  scope.$apply(function() { 
  deferred.resolve(reader.result); 
  }); 
 } 
 } 
 
 var onError = function(reader, deferred, scope) { 
 return function() { 
  scope.$apply(function() { 
  deferred.reject(reader.result); 
  }); 
 }; 
 }; 
 
 var getReader = function(deferred, scope) { 
 var reader = new FileReader(); 
 reader.onload = onLoad(reader, deferred, scope); 
 reader.onerror = onError(reader, deferred, scope); 
 return reader; 
 }; 
 
 var readAsDataURL = function(file, scope) { 
 var deferred = $q.defer(); 
 var reader = getReader(deferred, scope); 
 reader.readAsDataURL(file); 
 return deferred.promise; 
 } 
 return { 
 readAsDataUrl: readAsDataURL 
 }; 
 } 
]); 

html关键代码

<section class="infogroup"> 
 <h4>法人证件</h4> 
 <div class="row relatedCard"> 
 <div class="col-md-4 txtcenter"> 
  <p>身份证正面</p> 
  <div><img ng-src="showImg/{{dealer.idCardFace}}" class="idCardFace" enlarge-pic/></div> 
  <span class="btn btn-file btn btn-xs btn-primary btn-editable picEdit"><i class="fa fa-edit"></i> 点击编辑 
   <input type="file" file-model="idCardFace" img-view-id="idCardFace" /> 
  </span> 
 </div> 
 <div class="col-md-4 txtcenter"> 
  <p>身份证反面</p> 
  <div><img ng-src="showImg/{{dealer.idCardBack}}" class="idCardBack" enlarge-pic/></div> 
  <span class="btn btn-file btn btn-xs btn-primary btn-editable picEdit"><i class="fa fa-edit"></i> 点击编辑 
   <input type="file" file-model="idCardBack" img-view-id="idCardBack" /> 
  </span> 
 </div>     
 </div> 
</section> 

controller.js中发送到后台的数据

$scope.postData = { 
 dealerId: $scope.dealer.dealerId, 
 companyName: $scope.dealer.companyName, 
 companySize: $scope.dealer.companySize, 
 idCardFace: angular.element(document.querySelector(".idCardFace"))[0].src, 
 idCardBack: angular.element(document.querySelector(".idCardBack"))[0].src 
}; 
$http.post('updateDealerCertificate',$scope.postData).success(function(data){ 
<!-- 成功执行代码 --> 
}); 

预览如下:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# angularjs上传多张图片并预览  # angularjs上传图片并预览  # angularjs多张图片上传预览  # Javascript图片上传前的本地预览实例  # js图片上传前预览功能(兼容所有浏览器)  # 图片上传之前检查大小、尺寸、格式并预览的js代码  # js实现图片上传预览原理分析  # Vue.js 2.0 移动端拍照压缩图片上传预览功能  # js前端实现多图图片上传预览的两个方法(推荐)  # 兼容IE和FF的图片上传前预览js代码  # javascript 图片上传预览-兼容标准  # js实现前端图片上传即时预览功能  # js实现图片上传并预览功能  # 上传  # 多图  # 大家分享  # 具体内容  # 大家多多  # 中发  # 多张  # bind  # querySelector  # event  # change  # apply  # document  # assign  # modelSetter  # model  # imgView  # imgViewId 


相关文章: 如何在云主机上快速搭建网站?  太平洋网站制作公司,网络用语太平洋是什么意思?  免费网站制作appp,免费制作app哪个平台好?  网站制作软件免费下载安装,有哪些免费下载的软件网站?  电商平台网站制作流程,电商网站如何制作?  免费制作海报的网站,哪位做平面的朋友告诉我用什么软件做海报比较好?ps还是cd还是ai这几个软件我都会些我是做网页的?  大同网页,大同瑞慈医院官网?  网站图片在线制作软件,怎么在图片上做链接?  网站制作外包价格怎么算,招聘网站上写的“外包”是什么意思?  ,巨量百应是干嘛的?  建站DNS解析失败?如何正确配置域名服务器?  如何用AWS免费套餐快速搭建高效网站?  如何通过FTP空间快速搭建安全高效网站?  制作表格网站有哪些,线上表格怎么弄?  如何在Golang中使用replace替换模块_指定本地或远程路径  如何用花生壳三步快速搭建专属网站?  三星网站视频制作教程下载,三星w23网页如何全屏?  C#如何在一个XML文件中查找并替换文本内容  ,网页ppt怎么弄成自己的ppt?  安云自助建站系统如何快速提升SEO排名?  建站之星安装模板失败:服务器环境不兼容?  如何快速完成中国万网建站详细流程?  C#怎么使用委托和事件 C# delegate与event编程方法  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  如何规划企业建站流程的关键步骤?  高端网站建设与定制开发一站式解决方案 中企动力  新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?  如何高效配置IIS服务器搭建网站?  公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?  专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?  建站与域名管理如何高效结合?  如何选择PHP开源工具快速搭建网站?  如何在阿里云高效完成企业建站全流程?  Python lxml的etree和ElementTree有什么区别  武汉网站制作费用多少,在武汉武昌,建面100平方左右的房子,想装暖气片,费用大概是多少啊?  ,交易猫的商品怎么发布到网站上去?  宝塔Windows建站如何避免显示默认IIS页面?  宝塔新建站点报错如何解决?  Swift中switch语句区间和元组模式匹配  早安海报制作网站推荐大全,企业早安海报怎么每天更换?  如何用腾讯建站主机快速创建免费网站?  建站之星代理平台如何选择最佳方案?  建站之星如何保障用户数据免受黑客入侵?  Android滚轮选择时间控件使用详解  建站之星在线客服如何快速接入解答?  专业的网站制作设计是什么,如何制作一个企业网站,建设网站的基本步骤有哪些?  如何配置WinSCP新建站点的密钥验证步骤?  高防网站服务器:DDoS防御与BGP线路的AI智能防护方案  名字制作网站免费,所有小说网站的名字?  建站中国官网:模板定制+SEO优化+建站流程一站式指南 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。