1.添加插件

1.1 安装ngcordova

1.2 安装选择图片插件

1.3 安装上传插件

1.4查看安装插件集合

2.html 代码

<div class="item  item-icon-right">
<span>封面图片</span>
<i class="icon ion-images royal" data-tap-disabled="true" ng-click="taskFMpicker()"></i>
</div>
<div class="item item-body" >
<img class="full-image" ng-src="{{FMimage}}" />
</div>
<div class="item item-icon-right">
<span>图片相册</span>
<i class="icon ion-images royal" data-tap-disabled="true" ng-click="taskXCpicker()"></i>
</div>
<div class="row row-wrap item-calm" >
<div class="col col-50" ng-repeat="(k,v) in images"><img ng-src="{{v.imgurl}}" style="width:120px;height:120px; "/>
<p><button type="button" class="button button-small button-outline button-positive " ng-click="delimgs(v.imgurl)">删除</button></p></div>
<div >
</div>
</div>

3.controller 代码

     //封面选择
$scope.taskFMpicker= function () {
var options = {
maximumImagesCount: 1,
width: 600,
height: 600,
quality: 80
};
$cordovaImagePicker.getPictures(options).then(function(results) {
var uri = results[0],
name = uri;
if (name.indexOf('/')) {
var i = name.lastIndexOf('/');
name = name.substring(i + 1);
}
$scope.FMimage = uri; $scope.uploadimage(uri,0);
}, function(error) {
alert(error);
});
}
//选择相册
$scope.taskXCpicker= function () {
var options = {
maximumImagesCount: 5,
width: 600,
height: 600,
quality: 80
};
$cordovaImagePicker.getPictures(options)
.then(function (results) {
for (var i = 0; i < results.length; i++) {
// console.log('Image URI: ' + results[i]);
$scope.images.push({"imgurl":results[i],id:0});
$scope.uploadimage(results[i],1) ;
}
}, function(error) {
// error getting photos
});
}
//上传图片
$scope.uploadimage = function(uri,type) {
var fileURL = uri;
var options = new FileUploadOptions();
options.fileKey = "file";
options.fileName = fileURL.substr(fileURL.lastIndexOf('/') + 1);
options.mimeType = "image/jpeg";
var server=encodeURI(ENV.APIUrl+"/Upload/ImgUpload");
var ft = new FileTransfer(); $ionicLoading.show({
template: '上传中...'
}); ft.upload(fileURL, server,
function(data) {
// alert(JSON.stringify(data));
var resp = JSON.parse(data.response);
if(resp[0].status==1){
if(type==0){
$scope.FMImgeList.push(resp[0].filename);
//alert($scope.FMImgeList.join(','));
}
else{
$scope.XCImgeList.push("0"+"|"+resp[0].filename);
}
}
$ionicLoading.hide();
},
function(error) {
// alert(JSON.stringify(error));
$ionicLoading.hide();
}, options);
}

Ionic 选择图片上传的更多相关文章

  1. HTML5 Plus 拍照或者相册选择图片上传

    HBuilder+HTML5 Plus+MUI实现拍照或者相册选择图片上传,利用HTML5 Plus的Camera.Gallery.IO.Storage和Uploader来实现手机APP拍照或者从相册 ...

  2. android拍照选择图片上传服务器自定义控件

    做android项目的时候总免不了遇到图片上传功能,虽然就是调用android系统的拍照和相册选择功能,但是总面部了把一大推代码写在activity里,看上去一大推代码头都昏了.不如把这些功能都集成一 ...

  3. H5拍照、选择图片上传组件核心

    背景 前段时间项目重构,改成SSR的项目,但之前用的图片选择上传组件不支持SSR(server-side-render).遂进行了调研,发现很多的工具.但有的太大,有的使用麻烦,有的不满足使用需求.决 ...

  4. html页面选择图片上传时实现图片预览功能

    实现效果如下图所示 只需要将下面的html部分的代码放入你的代码即可 (注意引入jQuery文件和html头部的css样式,使用的是ajax提交) <!-- 需引入jQuery 引入样式文件 引 ...

  5. Ionic3学习笔记(十二)拍照上传图片以及从相册选择图片上传

    本文为原创文章,转载请标明出处 目录 安装插件 导入 app.module.ts 创建 provider 更多 效果图 1. 安装插件 终端运行: ionic cordova plugin add c ...

  6. H5 选择图片上传及预览

    <div class="sctp"> <img src="img/sczp.png" id="photo" alt=&qu ...

  7. 我需要在Web上完成一个图片上传的功能

    我需要在Web上完成一个图片上传的功能. 这个页面需要能从手机中选择图片上传. 首先,这个页面是从微信上面触发的,所以修改了微信的的入口地址,增加了身份识别号作为传参. 跳转到页面的时候,页面先检查身 ...

  8. angularJS+Ionic移动端图片上传的解决办法

    前端开发中经常会碰到图片上传的问题,网上的解决办法很多,可是有些图片上传的插件会有一些附属的插件,因此因为一个图片上传的问题可能额需要引入其他插件到项目中,久而久之项目会不伦不类,有时候插件之间也会有 ...

  9. 微信小程序选择图片,查看图片信息,浏览图片,图片上传

    依次点击链接请查看以下步骤 选择图片: https://mp.weixin.qq.com/debug/wxadoc/dev/api/media-picture.html#wxchooseimageob ...

随机推荐

  1. 云HBase备份恢复,为云HBase数据安全保驾护航

    摘要: 介绍了阿里云HBase自研备份恢复功能的基本背景以及基本原理架构和基本使用方法.   云HBase发布备份恢复功能,为用户数据保驾护航.对大多数公司来说数据的安全性以及可靠性是非常重要的,如何 ...

  2. thinkphp DEFINED标签

    DEFINED标签用于判断某个常量是否有定义,用法如下: 大理石平台检验标准 <defined name="NAME"> NAME常量已经定义 </defined ...

  3. LUOGU P2290 [HNOI2004]树的计数(组合数,prufer序)

    传送门 解题思路 \(prufer\)序,就是所有的不同的无根树,都可以转化为唯一的序列.做法就是每次从度数为\(1\)的点中选出一个字典序最小的,把这个点删掉,并把这个点相连的节点加入序列,直到只剩 ...

  4. django-filter 实现过滤时查询是否包含在数组的方法,in数组的实现

    查了半天无解,还是在官网找到的,记录一下 使用 BaseInFilter 官网地址:https://django-filter.readthedocs.io/en/master/ref/filters ...

  5. PAT甲级——A1128 N Queens Puzzle【20】

    The "eight queens puzzle" is the problem of placing eight chess queens on an 8 chessboard ...

  6. 左神算法进阶班1_4Manacher算法

    #include <iostream> #include <string> using namespace std; //使用manacher算法寻找字符中最长的回文子串 in ...

  7. icon 的前生今世 & iconfont 的晋级之路

      布吉岛为啥起了个这么文(dou)艺(bi)的名字,话不多说,开始总结

  8. 02_mybatis开发dao的方法

    MyBatis开发dao的方法 1. SqlSession使用范围 1.1 SqlSessionFactoryBuilder ​ 通过SqlSessionFactoryBuilder创建会话工厂Sql ...

  9. cocos2dx触摸响应

      Layer其实继承了触控的接口. 所以只需要重写一些函数即可.   在helloword类中重写:     virtual bool init();     /** Callback functi ...

  10. sparkStreaming入门

    1.环境 jdk : 1.8 scala : 2.11.7 hadoop:2.7 spark : 2.2.0 2. 开发工具 idea 2017.2 3.maven的pom文件 <depende ...