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中匿名函数的N种写法
Sep 08 Javascript
基于jQuery的仿flash的广告轮播
Nov 05 Javascript
javascript实现的使用方向键控制光标在table单元格中切换
Nov 17 Javascript
JavaScript之引用类型介绍
Aug 10 Javascript
如何让你的Lightbox支持滚轮缩放及Base64图片
Dec 04 Javascript
web前端设计师们常用的jQuery特效插件汇总
Dec 07 Javascript
js实现的简单radio背景颜色选择器代码
Aug 18 Javascript
微信企业号开发之微信考勤Cookies的使用
Sep 11 Javascript
jQuery+json实现的简易Ajax调用实例
Dec 14 Javascript
ES6新特性三: Generator(生成器)函数详解
Apr 21 Javascript
浅谈Angular路由守卫
Aug 26 Javascript
CKeditor富文本编辑器使用技巧之添加自定义插件的方法
Jun 14 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
漫荒推荐:画风超赞的国风漫画推荐 超长假期不无聊
2020/03/08 国漫
PHP4之真OO
2006/10/09 PHP
模拟OICQ的实现思路和核心程序(二)
2006/10/09 PHP
PHP 验证登陆类分享
2015/03/13 PHP
PHP一个简单的无需刷新爬虫
2019/01/05 PHP
PHP getID3类的使用方法学习笔记【附getID3源码下载】
2019/10/18 PHP
Aster vs KG BO3 第二场2.19
2021/03/10 DOTA
JavaScript 2048 游戏实例代码(简单易懂)
2016/03/25 Javascript
jQuery CSS3自定义美化Checkbox实现代码
2016/05/12 Javascript
Node.js动手撸一个静态资源服务器的方法
2019/03/09 Javascript
vue项目中在可编辑div光标位置插入内容的实现代码
2020/01/07 Javascript
python每隔N秒运行指定函数的方法
2015/03/16 Python
在服务器端实现无间断部署Python应用的教程
2015/04/16 Python
python查看FTP是否能连接成功的方法
2015/07/30 Python
python实现对文件中图片生成带标签的txt文件方法
2018/04/27 Python
Python中遍历列表的方法总结
2019/06/27 Python
Python实现12306火车票抢票系统
2019/07/04 Python
Python实现决策树并且使用Graphviz可视化的例子
2019/08/09 Python
详解Django-channels 实现WebSocket实例
2019/08/22 Python
python集合常见运算案例解析
2019/10/17 Python
python实现名片管理器的示例代码
2019/12/17 Python
PyTorch 随机数生成占用 CPU 过高的解决方法
2020/01/13 Python
详解有关PyCharm安装库失败的问题的解决方法
2020/02/02 Python
jupyter lab的目录调整及设置默认浏览器为chrome的方法
2020/04/10 Python
PyCharm 2020.2 安装详细教程
2020/09/25 Python
python实现控制台输出颜色
2021/03/02 Python
css3 pointer-events 介绍详解
2017/09/18 HTML / CSS
详解如何在css中引入自定义字体(font-face)
2018/05/17 HTML / CSS
美国最大的城市服装和运动鞋零售商:Jimmy Jazz
2016/11/19 全球购物
JD Sports法国:英国篮球和运动时尚的领导者
2017/09/28 全球购物
亚洲领先的设计购物网站:Pinkoi
2020/11/26 全球购物
分解成质因数(如435234=251*17*17*3*2,据说是华为笔试题)
2014/07/16 面试题
司机岗位职责说明书
2014/07/29 职场文书
新颖的化妆品活动方案
2014/08/21 职场文书
2014幼儿教师个人工作总结
2014/12/03 职场文书
python树莓派通过队列实现进程交互的程序分析
2021/07/04 Python