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 相关文章推荐
符合标准的js表单提交的代码
Sep 13 Javascript
javascript中字符串拼接需注意的问题
Jul 13 Javascript
JQuery选择器特辑 详细小结
May 14 Javascript
js简单实现用户注册信息的校验代码
Nov 15 Javascript
javascript编程异常处理实例小结
Nov 30 Javascript
利用D3.js实现最简单的柱状图示例代码
Dec 09 Javascript
jQuery实现判断控件是否显示的方法
Jan 11 Javascript
一篇文章搞定JavaScript类型转换(面试常见)
Jan 21 Javascript
vue.js指令和组件详细介绍及实例
Apr 06 Javascript
了解VUE的render函数的使用
Jun 08 Javascript
Layui给switch添加响应事件的例子
Sep 03 Javascript
对vue中的事件穿透与禁止穿透实例详解
Oct 28 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版国家代码、缩写查询函数代码
2011/08/14 PHP
php打开文件fopen函数的使用说明
2013/07/05 PHP
成为好程序员必须避免的5个坏习惯
2014/07/04 PHP
Laravel 中获取上一篇和下一篇数据
2015/07/27 PHP
PHP的Laravel框架中使用消息队列queue及异步队列的方法
2016/03/21 PHP
解决Laravel5.2 Auth认证退出失效的问题
2019/10/14 PHP
laravel 错误处理,接口错误返回json代码
2019/10/25 PHP
JavaScript 节点操作 以及DOMDocument属性和方法
2007/12/06 Javascript
javascript学习笔记(十二) RegExp类型介绍
2012/06/20 Javascript
jQuery 插件仿百度搜索框智能提示(带Value值)
2013/01/22 Javascript
js实现弹窗居中的简单实例
2016/10/09 Javascript
基于Bootstrap的网页设计实例
2017/03/01 Javascript
win系统下nodejs环境安装配置
2017/05/04 NodeJs
js编写简单的计时器功能
2017/07/15 Javascript
Node.js简单入门前传
2017/08/21 Javascript
webstorm和.vue中es6语法报错的解决方法
2018/05/08 Javascript
JS滚轮控制图片缩放大小和拖动的实例代码
2018/11/20 Javascript
详解一个基于react+webpack的多页面应用配置
2019/01/21 Javascript
详解vue中$nextTick和$forceUpdate的用法
2019/12/11 Javascript
详谈Vue.js框架下main.js,App.vue,page/index.vue之间的区别
2020/08/12 Javascript
python3实现暴力穷举博客园密码
2016/06/19 Python
Python线程指南详细介绍
2017/01/05 Python
详谈Python2.6和Python3.0中对除法操作的异同
2017/04/28 Python
Python聊天室程序(基础版)
2018/04/01 Python
将python代码和注释分离的方法
2018/04/21 Python
Flask框架Flask-Principal基本用法实例分析
2018/07/23 Python
python numpy 常用随机数的产生方法的实现
2019/08/21 Python
python如何判断IP地址合法性
2020/04/05 Python
纯css3实现的动画按钮的实例教程
2014/11/17 HTML / CSS
HTML5学习笔记之History API
2015/02/26 HTML / CSS
2014年小学元旦活动方案
2014/02/12 职场文书
开展批评与自我批评发言材料
2014/05/15 职场文书
小学班级口号大全
2015/12/25 职场文书
2016教师读书思廉心得体会
2016/01/23 职场文书
用python基于appium模块开发一个自动收取能量的小助手
2021/09/25 Python
鲲鹏 CentOS 7 安装Python3.7
2022/05/11 Servers