• 上传图片需要引入插件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上传图片的更多相关文章

  1. angularjs上传图片

    通过AngularJS实现图片上传及缩略图展示(读取文件内容) AngularJS图片上传功能的实现(读取文件内容) AngularJs实现Multipart/form-data 文件的上传(上传文件 ...

  2. angularjs上传图片插件使用

    一. angurlajs 相关 远程 jar 包 https://code.angularjs.org/angular-1.0.1.min.js 二. 正文 1. html 部分 <!-- 需要 ...

  3. 篇章三:[AngularJS] 使用AngularCSS動態載入CSS

    前言 使用AngularAMD動態載入Controller 使用AngularAMD動態載入Service 上列兩篇文章裡,介紹了如何如何使用AngularAMD來動態載入Controller與Ser ...

  4. angularjs上传图片和文件

    很简单: $scope.upload = function() { var f = $scope.myFile; var fd = new FormData(); var img = document ...

  5. AngularJs之三

    一.angularJs的指令模型ng-model指令 ng-model 指令 绑定 HTML 元素 到应用程序数据. 为应用程序数据提供类型验证(number.email.required).为应用程 ...

  6. angularJS(3)

      angularJS(3) 一.angularJs的指令模型ng-model指令 ng-model 指令 绑定 HTML 元素 到应用程序数据. 为应用程序数据提供类型验证(number.email ...

  7. UEditor上传图片到七牛云储存(java)

    我们的网站一般放在虚拟空间或者服务器上,图片如果存在本地目录,会占用很多空间和流量,还增加了负担,好的办法是把图片存放到云储存服务里面,平时用url去拿 云储存:普遍说又拍云和七牛比较好,看到七牛免费 ...

  8. UEditor上传图片到七牛云储存(c#)

    我们的网站一般放在虚拟空间或者服务器上,图片如果存在本地目录,会占用很多空间和流量,还增加了负担,好的办法是把图片存放到云储存服务里面,平时用url去拿 云储存:普遍说又拍云和七牛比较好,看到七牛免费 ...

  9. AngularJS的相关应用

    一.[AngularJS常用指令]        1.ng-app:声明Angular所管辖的区域.一般写在body或html上,原则上一个页面只有一个:           <body ng- ...

随机推荐

  1. 解决Visual C++ Redistributable for Visual Studio 2015的安装问题(摘录)

    1. Visual C++ Redistributable for Visual Studio 2015系统要求:Windows 7情况下必须是Windows 7 with SP1.或者Windows ...

  2. resetBuffer方法与reset方法的使用场景:解决生成HTML或者文件下载时的首部空白行的问题

    getResponse的getWriter()方法 getResponse的getWriter()方法连续两次输出流到页面的时候,第二次的流会包括第一次的流,所以可以使用response.reset或 ...

  3. Python使用浏览器模拟访问页面之使用ip代理

    最近需要使用浏览器模拟访问页面,同时需要使用不同的ip访问,这个时候就考虑到在使用浏览器的同时加上ip代理. 本篇工作环境为win10,python3.6. Chorme 使用Chrome浏览器模拟访 ...

  4. C#中子类和父类

    在实例化子类的时候,总是先调用父类的无参构造函数

  5. 关于Java的权限修饰符(public,private,protected,默认friendly)

    以前对访问修饰符总是模棱两可,让自己仔细解释也是经常说不很清楚.这次要彻底的搞清楚. 现在总结如下: 一.概括总结 各个访问修饰符对不同包及其子类,非子类的访问权限 Java访问权限修饰符包含四个:p ...

  6. java.lang.IllegalStateException: Unknown Priority XXXX 的解决方法

    异常信息: java.lang.IllegalStateException: Unknown Priority SYS_ERR_SMS at org.apache.log4j.Category.pri ...

  7. StackMapTable属性说明

    (1)StackMapTable属性的说明 https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html#jvms-4.7.4 (2)S ...

  8. vue下拉搜索

    vue版本是1.0.21 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> ...

  9. Debugging Ruby in VS Code

    原文  https://dev.to/dnamsons/ruby-debugging-in-vscode-3bkj https://github.com/Microsoft/vscode-recipe ...

  10. 获取 python import模块的路径

    import a_module print a_module.__file__ 上述代码将范围 .pyc 文件被加载的路径,如果需要跨平台解决方案,可用下面代码: import os path = o ...