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 相关文章推荐
css如何让浮动元素水平居中
Aug 07 Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记9)
Dec 24 Javascript
如何获取元素的最终background-color
Feb 06 Javascript
vue组件间通信解析
Mar 01 Javascript
微信小程序获取微信运动步数的实例代码
Jul 20 Javascript
Vue项目中quill-editor带样式编辑器的使用方法
Aug 08 Javascript
微信小程序使用Promise简化回调
Feb 06 Javascript
详解react关于事件绑定this的四种方式
Mar 09 Javascript
深入浅析Vue.js计算属性和侦听器
May 05 Javascript
angular 实现的输入框数字千分位及保留几位小数点功能示例
Jun 19 Javascript
JS实现的对象去重功能示例
Jun 04 Javascript
js实现经典贪吃蛇小游戏
Mar 19 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可逆加密解密算法实例代码
2014/01/21 PHP
回帖脱衣服的图片实现代码
2014/02/15 PHP
ThinkPHP文件缓存类代码分享
2015/04/22 PHP
PHP单链表的实现代码
2016/07/05 PHP
PHPCMS2008广告模板SQL注入漏洞修复
2016/10/11 PHP
PHP房贷计算器实例代码,等额本息,等额本金
2017/04/01 PHP
Laravel基础_关于view共享数据的示例讲解
2019/10/14 PHP
javaScript的函数对象的声明详解
2015/02/06 Javascript
jQuery在ul中显示某个li索引号的方法
2015/03/17 Javascript
详解JavaScript基于面向对象之创建对象(1)
2015/12/10 Javascript
原生JavaScript实现Ajax的方法
2016/04/07 Javascript
使用JQuery选择HTML遍历函数的方法
2016/09/17 Javascript
微信小程序 教程之数据绑定
2016/10/18 Javascript
JavaScript中绑定事件的三种方式及去除绑定
2016/11/05 Javascript
BetterScroll 在移动端滚动场景的应用
2017/09/18 Javascript
深入理解 Koa 框架中间件原理
2018/10/18 Javascript
微信打开网址添加在浏览器中打开提示的办法
2019/05/20 Javascript
一步一步实现Vue的响应式(对象观测)
2019/09/02 Javascript
keep-alive保持组件状态的方法
2020/12/02 Javascript
在Linux命令行终端中使用python的简单方法(推荐)
2017/01/23 Python
解决python文件字符串转列表时遇到空行的问题
2017/07/09 Python
Tensorflow 多线程设置方式
2020/02/06 Python
DjangoWeb使用Datatable进行后端分页的实现
2020/05/18 Python
python解包用法详解
2021/02/17 Python
移动端Html5页面生成图片解决方案
2018/08/07 HTML / CSS
次世代生活态度:Hypebeast
2018/07/05 全球购物
英国婴儿产品专家:Samuel Johnston
2020/04/20 全球购物
为什么要做架构设计
2015/07/08 面试题
2014年圣诞节促销方案
2014/03/14 职场文书
优秀员工评优方案
2014/06/13 职场文书
五一促销活动总结
2014/07/01 职场文书
工作经历证明书范文
2014/11/02 职场文书
学校工会工作总结2015
2015/05/19 职场文书
小学教师见习总结
2015/06/23 职场文书
Grafana可视化监控系统结合SpringBoot使用
2022/04/19 Redis
nginx七层负载均衡配置详解
2022/07/15 Servers