ionic+angularJS+cordova(FileTransfer)上传图片

【功能介绍】

在开发应用的时候,经常会遇到需要上传图片的功能,比如修改个人资料的头像。本文介绍的是基于ionic框架,在移动端上传图片的功能。

【功能流程】

(1)点击页面上的头像,弹出一个对话框,选择[拍照]或者[从相册选择];

(2)选取/拍摄照片;

(3)上传照片;

【html核心代码】

<div ng-controller="myCtrl">
    <a ng-click="choosePicMenu()">
        <img ng-src="{{img}}">
    </a>
</div>

【myCtrl.js核心代码】

(1)选取图片的函数

//定义选择照片的函数,$scope.choosePicMenu = function() {    var type = ‘gallery‘;    $ionicActionSheet.show({        buttons: [            { text: ‘拍照‘ },            { text: ‘从相册选择‘ }        ],        titleText: ‘选择照片‘,        cancelText: ‘取消‘,        cancel: function() {        },        buttonClicked: function(index) {            if(index == 0){                type = ‘camera‘;            }else if(index == 1){                type = ‘gallery‘;            }       //Camera.getPicture(type)->根据选择的“选取图片”的方式进行选取            Camera.getPicture(type).then(          //返回一个imageURI,记录了照片的路径                function (imageURI) {                    $scope.me.image = imageURI;            //更新页面上的照片                    $scope.img = imageURI;                    $scope.$apply();                },                function (err) {                });            return true;        }    });};

(2)上传函数中的核心代码

//新建文件上传选项,并设置文件key,name,typevar options = new FileUploadOptions();options.fileKey="ffile";options.fileName=$scope.me.image.substr($scope.me.image.lastIndexOf(‘/‘)+1);options.mimeType="image/jpeg";//用params保存其他参数,例如昵称,年龄之类var params = {};params[‘name‘] = $scope.me.name;//把params添加到options的params中options.params = params;//新建FileTransfer对象var ft = new FileTransfer();//上传文件ft.upload(    $scope.me.image,    encodeURI(‘some url‘),//把图片及其他参数发送到这个URL,相当于一个请求,在后台接收图片及其他参数然后处理    uploadSuccess,    uploadError,    options);//upload成功的话function uploadSuccess(r) {    var resp = JSON.parse(r.response);    if(resp.status == 0){     //返回前一页面        $navHistory.back();    }else{        $ionicPopup.alert({            title: ‘Message‘,            cssClass: ‘alert-text‘,            template:  ‘Upload fail!‘        });    }}//upload失败的话function uploadError(error) {}
时间: 2024-10-05 04:33:22

ionic+angularJS+cordova(FileTransfer)上传图片的相关文章

ZH奶酪:ionic+angularJS+cordova(FileTransfer)上传图片【移动端】

[功能介绍] 在开发应用的时候,经常会遇到需要上传图片的功能,比如修改个人资料的头像.本文介绍的是基于ionic框架,在移动端上传图片的功能. [功能流程] (1)点击页面上的头像,弹出一个对话框,选择[拍照]或者[从相册选择]: (2)选取/拍摄照片: (3)上传照片: [html核心代码] <div ng-controller="myCtrl"> <a ng-click="choosePicMenu()"> <img ng-src=

WebApp开发框架Ionic+AngularJS+Cordova

目前的手机APP有三类:原生APP.WebAPP.HybridApp:HybridApp结合了前两类APP各自的优点,越来越流行. Ionic Ionic是一个新的.可以使用HTML5构建混合移动应用的用户界面框架,它自称为是“本地与HTML5的结合”.该框架提供了很多基本的移动用户界面范例,例如像列表(lists).标签页栏(tabbars)和触发开关(toggleswitches)这样的简单条目.它还提供了更加复杂的可视化布局示例,例如在下面显示内容的滑出式菜单. Ionic宣称他们极度强调

使用Ionic + Apache Cordova开发跨平台混合型的移动应用

JavaScript 写多了,要想真正提高js水平,研究其他js框架源码是不错的选择.Github上大部分都是js.css相关的项目,可以有目的性的 check out 下来,研读研读,还是非常收益的,跟随nb的人,也会慢慢变的nb. 场景:有一个朋友,他公司是做移动应用开发的,3个安卓开发人员,3个 ios,然后是 java 开发,美工 ,10多个人的公司,主要是以接项目为主,一个项目(电商.微信.聊天 类型的)大概在20万左右, 差不多1个半月 做完(代码质量能不能保证,不知道,不过我觉得开

ionic 和cordova的区别是什么

很多新朋友ionic基础教程都学完了,还是不知道ionic 和cordova 是什么关系 ionic是什么: Ionic(ionicframework)一款开源的Html5移动App开发框架,是AngularJS移动端解决方案,Ionic以流行的跨平台移动app开发框架phoengap为蓝本,让开发者可以通过命令行工具快速生成android  ios移动app应用 phoengap是什么? phonegap是一个用基于HTML,CSS和JavaScript的,创建移动跨平台移动应用程序的快速开发

【Ionic+AngularJS 开发】之『个人日常管理』App(一)

写在前面的话 过去一年自己接触了不少手机前端开发,得益于现在手机性能的提升和4G普及,感觉使用混合技术开发手机App已经可以满足越来越多的应用场景了.新年伊始,对自己2016年所学知识做一个阶段性总结,记录一个自制的"小而萌"Hybrid App开发历程,共勉! [扩展阅读] 企业移动应用开发 混合开发成香饽饽 2016年JavaScript领域中最受欢迎的"明星"们 Hybrid APP混合开发的一些经验和总结 App预览 (*模糊化的个人数据) 简介 个人日常管

安装ionic 以及 cordova 环境配置详细过程,(错误解决)

[摘要:全部装置进程: 1. jdk 1.7.2 (http://www.oracle.com/technetwork/java/javase/downloads/index.html) 装置好以后 情况变量设置装备摆设: 新建体系变量JAVA_HOME 战CLASSPATH 变量名:JAVA_HOME 变量:C:Program FilesJavajdk1.7.0 变量] 整个安装过程: 1. jdk 1.7.2   (http://www.oracle.com/technetwork/java

AngularJS Cordova插件介绍

ngCordova是在Cordova Api基础上封装的一系列开源的AngularJs服务和扩展,让开发者可以方便的在HybridApp开发中调用设备能力,即可以在AngularJs代码中访问设备能力Api. 根据我的经验,在cordova插件的sucess和error js回调方法中,是无法使用 angularjs的$scope对象和注入的方法的,只能访问全局的方法和变量,这样会导致很多麻烦,必须使用传统的js方法写很多难看的代码.使用ngCordova应该可以解决这个问题. 目前ngCord

ionic2/Angularjs cordova node.js

ionic 和 cordova 的区别 环境的搭建{node.js,jdk1.8/jdk1.7,android sdk,intellijIdea,ionic,cordova} nodejs+ionic+cordova+intellijIdea搭建webApp环境 原文地址:https://www.cnblogs.com/jeryM/p/8784867.html

Hybrid App混合模式移动应用开发(AngularJS+Cordova+Ionic)

以前公司开发了某手机APP是通过jquerymobile来实现的,发现它对手机上的原生设备无能为力.于是在下一个项目到来之际,通过筛选最终决定使用cordova+Ionic.看起来简单,但是因为他们各自有一些依赖,林林总总,最终涉及的内容便不少了. 如下所示: 环境搭建:window 1.JAVA-SDK 安装配置(版本7以上) 这个没什么难度,到官网下载jdk,然后按照步骤配置环境变量即可.配置完成后,记得校验jdk安装是否成功. JDK安装及环境变量配置 2.Android-SDK 安装配置