三、angularjs上传图片
- 上传图片需要引入插件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上传图片的更多相关文章
- angularjs上传图片
通过AngularJS实现图片上传及缩略图展示(读取文件内容) AngularJS图片上传功能的实现(读取文件内容) AngularJs实现Multipart/form-data 文件的上传(上传文件 ...
- angularjs上传图片插件使用
一. angurlajs 相关 远程 jar 包 https://code.angularjs.org/angular-1.0.1.min.js 二. 正文 1. html 部分 <!-- 需要 ...
- 篇章三:[AngularJS] 使用AngularCSS動態載入CSS
前言 使用AngularAMD動態載入Controller 使用AngularAMD動態載入Service 上列兩篇文章裡,介紹了如何如何使用AngularAMD來動態載入Controller與Ser ...
- angularjs上传图片和文件
很简单: $scope.upload = function() { var f = $scope.myFile; var fd = new FormData(); var img = document ...
- AngularJs之三
一.angularJs的指令模型ng-model指令 ng-model 指令 绑定 HTML 元素 到应用程序数据. 为应用程序数据提供类型验证(number.email.required).为应用程 ...
- angularJS(3)
angularJS(3) 一.angularJs的指令模型ng-model指令 ng-model 指令 绑定 HTML 元素 到应用程序数据. 为应用程序数据提供类型验证(number.email ...
- UEditor上传图片到七牛云储存(java)
我们的网站一般放在虚拟空间或者服务器上,图片如果存在本地目录,会占用很多空间和流量,还增加了负担,好的办法是把图片存放到云储存服务里面,平时用url去拿 云储存:普遍说又拍云和七牛比较好,看到七牛免费 ...
- UEditor上传图片到七牛云储存(c#)
我们的网站一般放在虚拟空间或者服务器上,图片如果存在本地目录,会占用很多空间和流量,还增加了负担,好的办法是把图片存放到云储存服务里面,平时用url去拿 云储存:普遍说又拍云和七牛比较好,看到七牛免费 ...
- AngularJS的相关应用
一.[AngularJS常用指令] 1.ng-app:声明Angular所管辖的区域.一般写在body或html上,原则上一个页面只有一个: <body ng- ...
随机推荐
- Python2获取网页标题
Python获取网页标题 使用Python2.x的urllib2和lxml,速度应该还快于BeautifulSoup4(话说回来,为什么大家都要用BS4呢?一个XPATH不就完了吗) 没有安装过的,用 ...
- springboot自定义jmx对象
在使用springboot-admin对springboot项目进行监控的时候我们发现其是具有web访问jmx对象的功能的,那它内部是怎么实现的呢. Jolokia是一个JMX-http桥梁,它提供了 ...
- Q72 编辑距离
给定两个单词 word1 和 word2,计算出将 word1 转换成 word2 所使用的最少操作数 . 你可以对一个单词进行如下三种操作: 插入一个字符 删除一个字符 替换一个字符 示例 1: 输 ...
- C# 委托的一些使用上的小技巧
1.委托是一种数据类型,我们可以在任何定义类的地方定义委托,在任何声明类的地方声明委托 2.初始化委托有两种方式,代码如下: (1).像类一样初始化委托 public delegate void Sa ...
- Spring Boot的filter简单使用
过滤器(Filter)的注册方法和 Servlet 一样,有两种方式:代码注册或者注解注册 1.代码注册方式 通过代码方式注入过滤器 @Bean public FilterRegistrati ...
- Modular Rails: The complete Guide to Modular Rails Applications 笔记
fix SamuraiCRM/engines/core/test/dummy/config/routes 修改如下 Rails.application.routes.draw do mount Sam ...
- 以安全模式启动firefox
碰到firefox打开后一直没有响应,解决方法: 以安全模式打开
- echarts实现自动轮播tooltip
最近需要实现echarts图形中hover效果轮播(即tooltip在各个数据点上轮流显示)的功能,以下就是我学习的一个过程,只是提供思路,具体场景需要自己修改.(仅针对echarts 2.2.7及以 ...
- 搭建Eclipse和MyEclipse的开发环境
主要步骤: 下载并配置Eclipse 建立并运行一个简单的javaSE项目 下载并破解MyEclipse 整合Eclipse和MyEclipse 开发环境和Tomcat结合 关于这个配置也可以参考:h ...
- 基于ASP.NET Core 创建 Web API
使用 Visual Studio 创建项目. 文件->新建->项目,选择创建 ASP.NET Core Web 应用程序. 基于 ASP.NET Core 2.0 ,选择API,身份验证选 ...