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 相关文章推荐
javascript读取xml
Nov 04 Javascript
谷歌浏览器 insertCell与appendChild的区别
Feb 12 Javascript
THREE.JS入门教程(4)创建粒子系统
Jan 24 Javascript
随鼠标上下滚动的jquery代码
Dec 05 Javascript
Easyui的组合框的取值与赋值
Oct 28 Javascript
ng-options和ng-checked在表单中的高级运用(推荐)
Jan 21 Javascript
微信小程序实现多宫格抽奖活动
Apr 15 Javascript
jQuery实现的点击按钮改变样式功能示例
Jul 21 jQuery
浅析Proxy可以优化vue的数据监听机制问题及实现思路
Nov 29 Javascript
详解Vue3.0 前的 TypeScript 最佳入门实践
Jun 18 Javascript
vue实现购物车小案例
Sep 27 Javascript
js实现ajax的用户简单登入功能
Jun 18 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
咖啡机如何保养和日常清洁?
2021/03/03 冲泡冲煮
汉字转化为拼音(php版)
2006/10/09 PHP
php trim 去除空字符的定义与语法介绍
2010/05/31 PHP
PHP中你应该知道的require()文件包含的正确用法
2015/06/12 PHP
[原创]ThinkPHP让../Public在模板不解析(直接输出)的方法
2015/10/09 PHP
Yii实现微信公众号场景二维码的方法实例
2020/08/30 PHP
MooTools 1.2中的Drag.Move来实现拖放
2009/09/15 Javascript
JSON 教程 json入门学习笔记
2020/09/22 Javascript
JavaScript 的继承
2011/10/01 Javascript
js当一个变量为函数时 应该注意的一点细节小结
2011/12/29 Javascript
jQuery制作简洁的多级联动Select下拉框
2014/12/23 Javascript
javascript结合Flexbox简单实现滑动拼图游戏
2016/02/18 Javascript
jQuery ajaxSubmit 实现ajax提交表单局部刷新
2016/07/04 Javascript
浅析Javascript ES6中的原生Promise
2016/08/25 Javascript
jQuery查找节点方法完整实例
2016/09/13 Javascript
vue js秒转天数小时分钟秒的实例代码
2018/08/08 Javascript
微信小程序入口场景的问题集合与相关解决方法
2019/06/26 Javascript
python实现对输入的密文加密
2019/03/20 Python
windows下python虚拟环境virtualenv安装和使用详解
2019/07/16 Python
Python3多线程版TCP端口扫描器
2019/08/31 Python
利用pyshp包给shapefile文件添加字段的实例
2019/12/06 Python
python 实现将list转成字符串,中间用空格隔开
2019/12/25 Python
pytorch 数据处理:定义自己的数据集合实例
2019/12/31 Python
Python对象的属性访问过程详解
2020/03/05 Python
opencv 图像礼帽和图像黑帽的实现
2020/07/07 Python
BeautifulSoup获取指定class样式的div的实现
2020/12/07 Python
使用html2canvas实现将html内容写入到canvas中生成图片
2020/01/03 HTML / CSS
西班牙伏林航空公司:Vueling
2016/08/05 全球购物
美国复古街头服饰精品店:Need Supply Co.
2017/02/22 全球购物
Puccini乌克兰:购买行李箱、女士手袋网上商店
2020/08/06 全球购物
平安建设汇报材料
2014/12/29 职场文书
小学教师读书笔记
2015/07/01 职场文书
巧用 -webkit-box-reflect 倒影实现各类动效(小结)
2021/04/22 HTML / CSS
opencv-python图像配准(匹配和叠加)的实现
2021/06/23 Python
C#连接ORACLE出现乱码问题的解决方法
2021/10/05 Oracle
Python采集壁纸并实现炫轮播
2022/04/30 Python