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 &amp; DHTML 实例编程(教程)(三)初级实例篇1—上传文件控件实例
Jun 02 Javascript
基于jquery的图片懒加载js
Jun 30 Javascript
Jquery ThickBox插件使用心得(不建议使用)
Sep 08 Javascript
JavaScript 继承使用分析
May 12 Javascript
MVVM模式中ViewModel和View、Model有什么区别?
Jun 19 Javascript
js实现按钮控制带有停顿效果的图片滚动
Aug 30 Javascript
JS百度地图搜索悬浮窗功能
Jan 12 Javascript
很棒的一组js图片轮播特效
Jan 12 Javascript
jquery submit()不能提交表单的解决方法
Apr 24 jQuery
Vue+jquery实现表格指定列的文字收缩的示例代码
Jan 09 jQuery
JS+css3实现幻灯片轮播图
Aug 14 Javascript
手把手教你实现 Promise的使用方法
Sep 02 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/07/10 PHP
PHP实现多条件查询实例代码
2010/07/17 PHP
DISCUZ在win2003环境下 Unable to access ./include/common.inc.php in... 的问题终极解决方案
2011/11/21 PHP
php实现在线生成条形码示例分享(条形码生成器)
2013/12/30 PHP
ThinkPHP中create()方法自动验证表单信息
2017/04/28 PHP
Javascript条件判断使用小技巧总结
2008/09/08 Javascript
关于Jquery操作Cookie取值错误的解决方法
2013/08/26 Javascript
javascript修改表格背景色实例代码分享
2013/12/10 Javascript
jquery.Ajax()方法调用Asp.Net后台的方法解析
2014/02/13 Javascript
浅谈JavaScript中Date(日期对象),Math对象
2015/02/05 Javascript
javascript自定义右键弹出菜单实现方法
2015/05/25 Javascript
jQuery中的ready函数与window.onload谁先执行
2016/06/21 Javascript
微信小程序网络请求的封装与填坑之路
2017/04/01 Javascript
Vue2.0用户权限控制解决方案的示例
2018/02/10 Javascript
快速解决layui弹窗按enter键不停弹窗的问题
2019/09/18 Javascript
JS 逻辑判断不要只知道用 if-else 和 switch条件判断(小技巧)
2020/05/27 Javascript
[05:45]Ti4观战指南(下)
2014/07/07 DOTA
[01:06:42]VP vs NewBee Supermajor 胜者组 BO3 第二场 6.5
2018/06/06 DOTA
python实现批量修改文件名代码
2017/09/10 Python
python学习笔记之列表(list)与元组(tuple)详解
2017/11/23 Python
python用plt画图时,cmp设置方法
2018/12/13 Python
解析Python的缩进规则的使用
2019/01/16 Python
Django给admin添加Action的步骤详解
2019/05/01 Python
详解python中的生成器、迭代器、闭包、装饰器
2019/08/22 Python
如何基于Python实现电子邮件的发送
2019/12/16 Python
python中的测试框架
2020/11/13 Python
北美Newegg打造的全球尖货海购平台:tt海购
2018/09/28 全球购物
医学检验专业个人求职信范文
2013/12/04 职场文书
会计出纳岗位职责
2013/12/25 职场文书
投资建议书模板
2014/05/12 职场文书
大气污染防治方案
2014/05/19 职场文书
2014乡镇党委副书记对照检查材料思想汇报
2014/10/09 职场文书
个人租房协议书
2014/11/28 职场文书
2015年班级元旦晚会活动总结
2014/11/28 职场文书
小学班主任个人总结
2015/03/03 职场文书
Python数据分析之绘图和可视化详解
2021/06/02 Python