Angularjs实现上传图片预览功能


Posted in Javascript onSeptember 01, 2017

废话不多说了,直接给大家贴代码了,具体代码如下所示:

<input type="file" ng-file-select="onFileSelect($files)" accept="image/*">
app.factory("fileReader", 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 onProgress = function(reader, scope) {
        return function (event) {
          scope.$broadcast("fileProgress",
              {
                total: event.total,
                loaded: event.loaded
              });
        };
      };
      var getReader = function(deferred, scope) {
        var reader = new FileReader();
        reader.onload = onLoad(reader, deferred, scope);
        reader.onerror = onError(reader, deferred, scope);
        reader.onprogress = onProgress(reader, 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
      };
  });

选择图片后执行的方法

$scope.onFileSelect = function(files) {
      var fileIn=files[0];
      var img = new Image();
      var fileType = fileIn.name.substring(fileIn.name.lastIndexOf(".") + 1, fileIn.name.length);
      if(fileIn.size>5242880){//单位是B,此处不允许超过5M
        alert("图片不能超过5M")
        return;
      }
      if(fileType=='JPG' || fileType=='PNG' || fileType=='JPEG ' || fileType=='jpg' || fileType=='png' || fileType=='jpeg'){
      }else{
        alert("图片格式只支持:JPG,PNG,JPEG")
        return;
      }
      fileReader.readAsDataUrl(fileIn, $scope)
          .then(function(result) {
            $scope.imageSrc = result;
            console.log(img.width);
      });
    }

总结

以上所述是小编给大家介绍的Angularjs实现上传图片预览功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
高效的表格行背景隔行变色及选定高亮的JS代码
Dec 04 Javascript
自动最大化窗口的Javascript代码
May 22 Javascript
jquery实现手机发送验证码的倒计时代码
Feb 12 Javascript
Jquery easyui开启行编辑模式增删改操作
Jan 14 Javascript
node.JS md5加密中文与php结果不一致的解决方法
May 05 Javascript
JS实现简易的图片拖拽排序实例代码
Jun 09 Javascript
VueJS事件处理器v-on的使用方法
Sep 27 Javascript
vue.js中使用echarts实现数据动态刷新功能
Apr 16 Javascript
ES6中的class是如何实现的(附Babel编译的ES5代码详解)
May 17 Javascript
基于JavaScript获取base64图片大小
Oct 18 Javascript
JS立即执行的匿名函数用法分析
Nov 04 Javascript
基于vue 动态菜单 刷新空白问题的解决
Aug 06 Javascript
JavaScript中使用参数个数实现重载功能
Sep 01 #Javascript
bootstrap-table实现服务器分页的示例 (spring 后台)
Sep 01 #Javascript
jQuery EasyUI结合zTree树形结构制作web页面
Sep 01 #jQuery
基于Vue.js 2.0实现百度搜索框效果
Dec 28 #Javascript
JavaScript闭包的简单应用
Sep 01 #Javascript
写给vue新手们的vue渲染页面教程
Sep 01 #Javascript
深入理解Vue 的条件渲染和列表渲染
Sep 01 #Javascript
You might like
php面向对象的方法重载两种版本比较
2008/09/08 PHP
对text数据类型不支持代码页转换 从: 1252 到: 936
2011/04/23 PHP
PHP常用函数和常见疑难问题解答
2014/03/05 PHP
phplist及phpmailer(组合使用)通过gmail发送邮件的配置方法
2016/03/30 PHP
Yii2前后台分离及migrate使用(七)
2016/05/04 PHP
PHP使用mysql与mysqli连接Mysql数据库用法示例
2016/07/07 PHP
php获取服务器操作系统相关信息的方法
2016/10/08 PHP
由php中字符offset特征造成的绕过漏洞详解
2017/07/07 PHP
初识javascript 文档碎片
2010/07/13 Javascript
JQuery中SetTimeOut传参问题探讨
2013/05/10 Javascript
Jquery.Form 异步提交表单的简单实例
2014/03/03 Javascript
jquery得到iframe src属性值的方法
2014/09/25 Javascript
如何屏蔽防止别的网站嵌入框架代码
2015/08/24 Javascript
JavaScript实现图片滑动切换的代码示例分享
2016/03/06 Javascript
Jquery ajax请求导出Excel表格的实现代码
2016/06/08 Javascript
jQuery实现图片轮播效果代码
2016/09/27 Javascript
js实现前面自动补全位数的方法
2018/10/10 Javascript
解决jquery validate 验证不通过后验证正确的信息仍残留在label上的方法
2019/08/27 jQuery
基于VUE实现简单的学生信息管理系统
2021/01/13 Vue.js
[01:15:18]2014 DOTA2国际邀请赛中国区预选赛 LGD VS Speed Gaming.cn
2014/05/22 DOTA
使用Python编写Linux系统守护进程实例
2015/02/03 Python
python判断无向图环是否存在的示例
2019/11/22 Python
css3 transform导致子元素固定定位变成绝对定位的方法
2020/03/06 HTML / CSS
HTML5上传文件显示进度的实现代码
2012/08/30 HTML / CSS
Kent & Curwen:与大卫·贝克汉姆合作
2017/06/13 全球购物
个性化皮包、小袋、生活配件:Mon Purse
2019/03/26 全球购物
飞利浦西班牙官方网站:Philips西班牙
2020/02/17 全球购物
国际会议邀请函范文
2014/01/16 职场文书
中国梦演讲稿范文
2014/08/28 职场文书
材料物理专业求职信
2014/09/01 职场文书
完整版商业计划书
2014/09/15 职场文书
绍兴鲁迅故居导游词
2015/02/09 职场文书
公司停电通知
2015/04/15 职场文书
早会开场白台词大全
2015/06/01 职场文书
大学军训通讯稿
2015/07/18 职场文书
重温经典:乔布斯在斯坦福大学的毕业演讲(双语)
2019/08/26 职场文书