Angularjs上传图片实例详解


Posted in Javascript onAugust 06, 2017

•上传图片需要引入插件ngFileUpload,使用bower安装方法: bower install ng-file-upload --save,安装后需要在命名app的名字js文件中注入,如下所示:

(function() {
  angular.module('app', [
    'ionic','ngStorage','ngFileUpload'
  ]);
})();

•在相应的html中引入文件路径:<script src="lib/ng-file-upload/ng-file-upload.min.js"></script>

•如何使用呢?在html文件中使用 ngf-select

<div class="editHeader_div" ngf-select="setStore.uploadFiles($file, $invalidFiles)">
        <img class="editStoreImg" ng-src="img/{{setStore.img}}">
        <p>更改头像</p>
 </div>

在相应的controller中:

//上传单个文件
    function uploadFiles(file, errFiles) {
      vm.imgInfo = file;
      console.log(file);
      if (file) {
        vm.img = file.name;//测试使用
        //Service.upload('','',{file:file})//开发使用
      }
    }

在http请求如下:

//文件上传预设配置
      Upload.setDefaults({
        ngfAccept: "'.jpg,.png,.gif,.jpeg'",
        ngfDropDisabled: 'true',
        ngfPattern: '.jpg,.png,.gif,.jpeg',
        ngfMaxSize: '2MB'
      });
 //上传文件
      function upload(ctrl, name, param) {
        var deferred = $q.defer(),
          interfaceName = ctrl + '/' + name,
          backendDetail = getBackendDetail(interfaceName);
        //上传文件到服务器
        Upload.upload({
          url: backend.url + ':' + backendDetail.port + '/' + backendDetail.service + '/' + interfaceName,
          data: param || {}
        }).then(function(data) {
          //service返回数据
          var result = data.data;
          //200代表接口调用成功
          if (data.status === 200) {
            //数据库返回错误信息
            if (result && serviceErrors[result.returnCode]) {
              deferred.reject('Error Services');
              swal(result.message, '错误状态码:' + result.returnCode, 'error');
            } else if (!result.dataInfo) {
              deferred.reject('Error Image');
              swal('图片上传失败', '请检查图片属性', 'error');
            } else {
              deferred.resolve(result);
            }
          } else {
            deferred.reject('Error Services');
            swal('提交操作失败', '错误状态码:' + data.status, 'error');
          }
        }, function(error) {
          deferred.reject('Error Services');
          swal('提交操作失败', '错误状态码:' + error.status, 'error');
        });
        return deferred.promise;
      }

总结

以上所述是小编给大家介绍的Angularjs上传图片实例详解,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

Javascript 相关文章推荐
for 循环性能比较 提高for循环的效率
Mar 19 Javascript
一款js和css代码压缩工具[附JAVA环境配置方法]
Apr 16 Javascript
json原理分析及实例介绍
Nov 29 Javascript
JS中for循序中延迟加载动态效果的具体实现
Aug 18 Javascript
iframe子页面获取父页面元素的方法
Nov 05 Javascript
JavaScript三元运算符的多种使用技巧
Apr 16 Javascript
使用AngularJS实现表单向导的方法
Jun 19 Javascript
javascript制作幻灯片(360度全景图片)
Jul 28 Javascript
vue2.0 常用的 UI 库实例讲解
Dec 12 Javascript
Vue 拦截器对token过期处理方法
Jan 23 Javascript
jQuery分组选择器简单用法示例
Apr 04 jQuery
javascript 数组(list)添加/删除的实现
Dec 17 Javascript
微信小程序 自定义消息提示框
Aug 06 #Javascript
最通俗易懂的javascript变量提升详解
Aug 05 #Javascript
Vue2.0 vue-source jsonp 跨域请求
Aug 04 #Javascript
js分页之前端代码实现和请求处理
Aug 04 #Javascript
微信小程序 rich-text的使用方法
Aug 04 #Javascript
Easyui和zTree两种方式分别实现树形下拉框
Aug 04 #Javascript
JS中使用media实现响应式布局
Aug 04 #Javascript
You might like
php分页示例分享
2014/04/30 PHP
php禁止直接从浏览器输入地址访问.php文件的方法
2014/11/04 PHP
Laravel-admin之修改操作日志的方法
2019/09/30 PHP
jquery下利用jsonp跨域访问实现方法
2010/07/29 Javascript
jquery实现的伪分页效果代码
2015/10/29 Javascript
jquery跟随屏幕滚动效果的实现代码
2016/04/13 Javascript
Sea.JS知识总结
2016/05/05 Javascript
浅谈JavaScript 标准对象
2016/06/02 Javascript
checkbox批量选中,获取选中项的值的简单实例
2016/06/28 Javascript
JS验证 只能输入小数点,数字,负数的实现方法
2016/10/07 Javascript
js单页hash路由原理与应用实战详解
2017/08/14 Javascript
jQuery实现点击自身以外区域关闭弹出层功能完整示例【改进版】
2018/07/31 jQuery
JS 正则表达式验证密码、邮箱格式的实例代码
2018/10/28 Javascript
JS中数据结构之栈
2019/01/01 Javascript
解决ie11 SCRIPT5011:不能执行已释放Script的代码问题
2019/05/05 Javascript
微信小程序使用蓝牙小插件
2019/09/23 Javascript
详解js location.href和window.open的几种用法和区别
2019/12/02 Javascript
wepy--用vantUI 实现上弹列表并选择相应的值操作
2020/11/03 Javascript
[51:15]完美世界DOTA2联赛PWL S2 PXG vs Magma 第一场 11.21
2020/11/24 DOTA
CentOS下使用yum安装python-pip失败的完美解决方法
2017/08/16 Python
Django中使用CORS实现跨域请求过程解析
2019/08/05 Python
Python 单例设计模式用法实例分析
2019/09/23 Python
Python3连接Mysql8.0遇到的问题及处理步骤
2020/02/17 Python
解决python 执行shell命令无法获取返回值的问题
2020/12/05 Python
浅谈css3中的前缀
2016/07/20 HTML / CSS
Html5实现移动端、PC端 刮刮卡效果
2016/06/30 HTML / CSS
全球最大的跑步用品商店:Road Runner Sports
2016/09/11 全球购物
农业开发项目建议书
2014/05/16 职场文书
热门专业求职信
2014/05/24 职场文书
班训口号大全
2014/06/18 职场文书
领导班子三严三实对照检查材料
2014/09/25 职场文书
个人求职信格式范文
2015/03/20 职场文书
2016年大学迎新工作总结
2015/10/14 职场文书
python基于turtle绘制几何图形
2021/06/15 Python
动画《新网球王子 U-17 WORLD CUP》希腊队PV公开
2022/04/02 日漫
python游戏开发之pygame实现接球小游戏
2022/04/22 Python