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之dhDataGrid Ver2.0.0代码
Jul 01 Javascript
javascript Excel操作知识点
Apr 24 Javascript
JavaScript根据数据生成百分比图和柱状图的实例代码
Jul 14 Javascript
鼠标移动到图片名上,显示图片的简单实例
Jul 14 Javascript
JQuery实现级联下拉框效果实例讲解
Sep 17 Javascript
Bootstrap常用组件学习(整理)
Mar 24 Javascript
JS异步文件上传(兼容IE8+)
Apr 02 Javascript
利用JavaScript如何查询某个值是否数组内
Jul 30 Javascript
node.js操作MongoDB的实例详解
Oct 11 Javascript
jQuery实现的淡入淡出与滑入滑出效果示例
Apr 18 jQuery
详解javascript中的变量提升和函数提升
May 24 Javascript
canvas绘制折线路径动画实现
May 12 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/06/20 PHP
php实现斐波那契数列的简单写法
2014/07/19 PHP
分享自定义的几个PHP功能函数
2015/04/15 PHP
php实现CSV文件导入和导出
2015/10/24 PHP
为EasyUI的Tab标签添加右键菜单的方法
2012/07/14 Javascript
页面载入结束自动调用js函数示例
2013/09/23 Javascript
封装好的js判断操作系统与浏览器代码分享
2015/01/09 Javascript
IE中鼠标经过option触发mouseout的解决方法
2015/01/29 Javascript
封装好的javascript前端分页插件pagination
2016/01/04 Javascript
Bootstrap3 图片(响应式图片&amp;图片形状)
2017/01/04 Javascript
微信小程序 本地图片按照屏幕尺寸处理
2017/08/04 Javascript
浅谈Emergence.js 检测元素可见性的 js 插件
2017/11/18 Javascript
JavaScript实现修改伪类样式
2017/11/27 Javascript
基于Angularjs-router动态改变Title值的问题
2018/08/30 Javascript
详解使用Nuxt.js快速搭建服务端渲染(SSR)应用
2019/03/13 Javascript
JavaScript Canvas编写炫彩的网页时钟
2019/10/16 Javascript
js实现列表向上无限滚动
2020/01/13 Javascript
解决 window.onload 被覆盖的问题方法
2020/01/14 Javascript
vue从后台渲染文章列表以及根据id跳转文章详情详解
2020/12/14 Vue.js
Python文件及目录操作实例详解
2015/06/04 Python
在Linux系统上部署Apache+Python+Django+MySQL环境
2015/12/24 Python
Python中optparser库用法实例详解
2018/01/26 Python
python矩阵/字典实现最短路径算法
2019/01/17 Python
使用 Python 处理 JSON 格式的数据
2019/07/22 Python
使用python写的opencv实时监测和解析二维码和条形码
2019/08/14 Python
Python如何使用正则表达式爬取京东商品信息
2020/06/01 Python
介绍Java的内部类
2012/10/27 面试题
应届生个人求职信模板
2013/11/26 职场文书
超市中秋节活动方案
2014/02/12 职场文书
《海底世界》教学反思
2014/04/16 职场文书
师德师风的心得体会
2014/09/02 职场文书
业务员岗位职责范本
2015/04/03 职场文书
2015年除四害工作总结
2015/07/23 职场文书
学习习近平主席讲话心得体会
2016/01/20 职场文书
Redis Cluster 字段模糊匹配及删除
2021/05/27 Redis
MySQL聚簇索引和非聚簇索引的区别详情
2022/06/14 MySQL