angularjs实现多张图片上传并预览功能
发布时间 - 2026-01-10 23:16:03 点击率:次本文实例为大家分享了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
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251811 】
【
AI营销90571 】
相关推荐:
Python进程池调度策略_任务分发说明【指导】
惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?
Laravel怎么定时执行任务_Laravel任务调度器Schedule配置与Cron设置【教程】
如何在Windows虚拟主机上快速搭建网站?
PHP正则匹配日期和时间(时间戳转换)的实例代码
常州企业网站制作公司,全国继续教育网怎么登录?
重庆市网站制作公司,重庆招聘网站哪个好?
Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出
Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】
如何确保西部建站助手FTP传输的安全性?
Java解压缩zip - 解压缩多个文件或文件夹实例
Laravel如何处理异常和错误?(Handler示例)
Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明
Laravel怎么使用Intervention Image库处理图片上传和缩放
详解阿里云nginx服务器多站点的配置
进行网站优化必须要坚持的四大原则
Laravel怎么上传文件_Laravel图片上传及存储配置
网站优化排名时,需要考虑哪些问题呢?
Laravel如何使用Collections进行数据处理?(实用方法示例)
深圳网站制作培训,深圳哪些招聘网站比较好?
Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势
百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧
悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】
iOS正则表达式验证手机号、邮箱、身份证号等
javascript如何操作浏览器历史记录_怎样实现无刷新导航
大同网页,大同瑞慈医院官网?
Laravel集合Collection怎么用_Laravel集合常用函数详解
python中快速进行多个字符替换的方法小结
Win11怎么设置默认图片查看器_Windows11照片应用关联设置
如何快速选择适合个人网站的云服务器配置?
Swift中switch语句区间和元组模式匹配
黑客如何通过漏洞一步步攻陷网站服务器?
Windows10怎样连接蓝牙设备_Windows10蓝牙连接步骤【教程】
想要更高端的建设网站,这些原则一定要坚持!
如何在IIS7上新建站点并设置安全权限?
今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】
Laravel怎么解决跨域问题_Laravel配置CORS跨域访问
Laravel如何使用Spatie Media Library_Laravel图片上传管理与缩略图生成【步骤】
,怎么在广州志愿者网站注册?
米侠浏览器网页图片不显示怎么办 米侠图片加载修复
阿里云网站搭建费用解析:服务器价格与建站成本优化指南
Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能
HTML5段落标签p和br怎么选_文本排版常用标签对比【解答】
香港服务器WordPress建站指南:SEO优化与高效部署策略
移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?
Laravel怎么集成Vue.js_Laravel Mix配置Vue开发环境
Laravel怎么在Blade中安全地输出原始HTML内容
如何在 Python 中将列表项按字母顺序编号(a.、b.、c. …)
Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧
如何续费美橙建站之星域名及服务?
上一篇:laravel怎么创建函数
上一篇:laravel怎么创建函数

