本文实例为大家分享了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小时内与您取得联系。