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 相关文章推荐
javascript firefox不显示本地预览图片问题的解决方法
Nov 12 Javascript
Jquery Autocomplete 结合asp.net使用要点
Oct 29 Javascript
使用JS或jQuery模拟鼠标点击a标签事件代码
Mar 10 Javascript
Jquery+asp.net后台数据传到前台js进行解析的方法
May 11 Javascript
angularjs中的e2e测试实例
Dec 06 Javascript
jQuery中slideUp 和 slideDown 的点击事件
Feb 26 Javascript
JQuery使用index方法获取Jquery对象数组下标的方法
May 18 Javascript
jquery判断页面网址是否有效的两种方法
Dec 11 Javascript
B/S(Web)实时通讯解决方案分享
Apr 06 Javascript
echarts设置图例颜色和地图底色的方法实例
Aug 01 Javascript
最适应的vue.js的form提交涉及多种插件【推荐】
Aug 27 Javascript
vue实现在data里引入相对路径
Jun 05 Vue.js
微信小程序 自定义消息提示框
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加密解密类代码
2011/11/27 PHP
浅谈PHP的数据库接口和技术
2016/12/09 PHP
在 Laravel 中 “规范” 的开发短信验证码发送功能
2017/10/26 PHP
入门基础学习 ExtJS笔记(一)
2010/11/11 Javascript
jQuery实现的Div窗口震动特效
2014/06/09 Javascript
浅谈Javascript数组的使用
2015/07/29 Javascript
基于Jquery代码实现手风琴菜单
2015/11/19 Javascript
理解Javascript文件动态加载
2016/01/29 Javascript
js仿搜狐视频记录片列表展示效果
2020/05/30 Javascript
Vue中保存用户登录状态实例代码
2017/06/07 Javascript
javascript+html5+css3自定义弹出窗口效果
2017/10/26 Javascript
Node.js使用MySQL连接池的方法实例
2018/02/11 Javascript
angularjs的单选框+ng-repeat的实现方法
2018/09/12 Javascript
JS中创建自定义类型的常用模式总结【工厂模式,构造函数模式,原型模式,动态原型模式等】
2019/01/19 Javascript
JS实现简单移动端鼠标拖拽
2020/07/23 Javascript
Ant design vue table 单击行选中 勾选checkbox教程
2020/10/24 Javascript
[03:01]完美盛典趣味短片 DOTA2年度最佳&拉胯英雄
2019/12/07 DOTA
Python使用自带的ConfigParser模块读写ini配置文件
2016/06/26 Python
Python代码解决RenderView窗口not found问题
2016/08/28 Python
Python实现模拟分割大文件及多线程处理的方法
2017/10/10 Python
对numpy中数组转置的求解以及向量内积计算方法
2018/10/31 Python
Python3中urlencode和urldecode的用法详解
2019/07/23 Python
安装并免费使用Pycharm专业版(学生/教师)
2020/09/24 Python
Python实现PS滤镜中的USM锐化效果
2020/12/04 Python
js实现弹框效果
2021/03/24 Javascript
大学考试作弊检讨书
2014/01/30 职场文书
小学生我的梦想演讲稿
2014/08/21 职场文书
乡镇八一建军节活动方案
2014/08/24 职场文书
学生旷课检讨书500字
2014/10/28 职场文书
2014年维修工作总结
2014/11/22 职场文书
班主任自我评价范文
2015/03/11 职场文书
新学期开学寄语2016
2015/12/04 职场文书
React-vscode使用jsx语法的问题及解决方法
2021/06/21 Javascript
pandas数值排序的实现实例
2021/07/25 Python
oracle数据库去除重复数据
2022/05/20 Oracle
Android开发手册自定义Switch开关按钮控件
2022/06/10 Java/Android