php+mui+头像上传,mui开发APP教程之上传用户头像

2024-01-24 23:20

本文主要是介绍php+mui+头像上传,mui开发APP教程之上传用户头像,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

mui开发APP教程之上传用户头像

mui开发APP教程之上传用户头像

页面展示:

dd0cb87d411ca28b3209d5b8010d032e.png

实现功能:

点击头像出现acntionsheet框,让你选择是从相册选取还是拍照

html代码:

头像

2.1.jpg

js代码:

mui.plusReady(function(){

document.getElementById('userImg').addEventListener('tap',function(){

if(mui.os.plus){

var a=[{

title:'拍照'

},{

title:'从手机相册选择'

}];

plus.nativeUI.actionSheet({

title:'修改头像',

cancel:'取消',

buttons:a

},function(b){

switch(b.index){

case 0:

break;

case 1:

//拍照

getImages();

break;

case 2:

//打开相册

galleryImages();

break;

default:

break;

}

},false);

}

});

//拍照

function getImages(){

var mobileCamera=plus.camera.getCamera();

mobileCamera.captureImage(function(e){

plus.io.resolveLocalFileSystemURL(e,function(entry){

var path=entry.toLocalURL()+'?version='+new Date().getTime();

uploadHeadImg(path);

},function(err){

console.log("读取拍照文件错误");

});

},function(e){

console.log("er",err);

},function(){

filename:'_doc/head.png';

});

}

//从本地相册选择

function galleryImages(){

console.log("你选择了从相册选择");

plus.gallery.pick(function(a){

plus.io.resolveLocalFileSystemURL(a,function(entry){

plus.io.resolveLocalFileSystemURL('_doc/',function(root){

root.getFile('head.png',{},function(file){

//文件已经存在

file.remove(function(){

console.log("文件移除成功");

entry.copyTo(root,'head.png',function(e){

var path=e.fullPath+'?version='+new Date().getTime();

uploadHeadImg(path);

},function(err){

console.log("copy image fail: ",err);

});

},function(err){

console.log("删除图片失败:("+JSON.stringify(err)+")");

});

},function(err){

//打开文件失败

entry.copyTo(root,'head.png',function(e){

var path=e.fullPath+'?version='+new Date().getTime();

uploadHeadImg(path);

},function(err){

console.log("上传图片失败:("+JSON.stringify(err)+")");

});

});

},function(e){

console.log("读取文件夹失败:("+JSON.stringify(err)+")");

});

});

},function(err){

console.log("读取拍照文件失败: ",err);

},{

filter:'image'

});

};

//上传图片

function uploadHeadImg(imgPath){

//选中图片之后,头像当前的照片变为选择的照片

var mainImg=document.getElementById('userImg');

mainImg.src=imgPath;

var images=new Image();

images.src=imgPath;

var imgData=getBase64Image(images);

mui.ajax('http://127.0.0.1/uploadHeadImg',{

data:{

'imgDatas':imgData

},

dataType:'json',//服务器返回json格式数据

type:'post',//HTTP请求类型

timeout:10000,//超时时间设置为10秒;

success:function(data){

if(data.status=='1'){

mui.alert('上传成功!');

}

},

error:function(xhr,type,errorThrown){

if(type=='timeout'){

mui.alert('服务器连接超时,请稍后再试');

}

}

});

}

//压缩图片转成base64

function getBase64Image(img){

var canvas=document.createElement("canvas");

var width=img.width;

var height=img.height;

if(width>height){

if(width>100){

height=Math.round(height*=100/width);

width=100;

}

}else{

if(height>100){

width=Math.round(width*=100/height);

}

height=100;

}

canvas.width=width;

canvas.height=height;

var ctx=canvas.getContext('2d');

ctx.drawImage(img,0,0,width,height);

var dataUrl=canvas.toDataURL('image/png',0.8);

return dataUrl.replace('data:image/png:base64,','');

}

});

mui开发APP教程之上传用户头像相关教程

这篇关于php+mui+头像上传,mui开发APP教程之上传用户头像的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/641345

相关文章

一文详解Python如何开发游戏

《一文详解Python如何开发游戏》Python是一种非常流行的编程语言,也可以用来开发游戏模组,:本文主要介绍Python如何开发游戏的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、python简介二、Python 开发 2D 游戏的优劣势优势缺点三、Python 开发 3D

基于Python开发Windows自动更新控制工具

《基于Python开发Windows自动更新控制工具》在当今数字化时代,操作系统更新已成为计算机维护的重要组成部分,本文介绍一款基于Python和PyQt5的Windows自动更新控制工具,有需要的可... 目录设计原理与技术实现系统架构概述数学建模工具界面完整代码实现技术深度分析多层级控制理论服务层控制注

全网最全Tomcat完全卸载重装教程小结

《全网最全Tomcat完全卸载重装教程小结》windows系统卸载Tomcat重新通过ZIP方式安装Tomcat,优点是灵活可控,适合开发者自定义配置,手动配置环境变量后,可通过命令行快速启动和管理... 目录一、完全卸载Tomcat1. 停止Tomcat服务2. 通过控制面板卸载3. 手动删除残留文件4.

Spring Boot分层架构详解之从Controller到Service再到Mapper的完整流程(用户管理系统为例)

《SpringBoot分层架构详解之从Controller到Service再到Mapper的完整流程(用户管理系统为例)》本文将以一个实际案例(用户管理系统)为例,详细解析SpringBoot中Co... 目录引言:为什么学习Spring Boot分层架构?第一部分:Spring Boot的整体架构1.1

Python的pandas库基础知识超详细教程

《Python的pandas库基础知识超详细教程》Pandas是Python数据处理核心库,提供Series和DataFrame结构,支持CSV/Excel/SQL等数据源导入及清洗、合并、统计等功能... 目录一、配置环境二、序列和数据表2.1 初始化2.2  获取数值2.3 获取索引2.4 索引取内容2

k8s admin用户生成token方式

《k8sadmin用户生成token方式》用户使用Kubernetes1.28创建admin命名空间并部署,通过ClusterRoleBinding为jenkins用户授权集群级权限,生成并获取其t... 目录k8s admin用户生成token创建一个admin的命名空间查看k8s namespace 的

uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)

《uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)》在uni-app开发中,文件上传和图片处理是很常见的需求,但也经常会遇到各种问题,下面:本文主要介绍uni-app小程序项目中实... 目录方式一:使用<canvas>实现图片压缩(推荐,兼容性好)示例代码(小程序平台):方式二:使用uni

python依赖管理工具UV的安装和使用教程

《python依赖管理工具UV的安装和使用教程》UV是一个用Rust编写的Python包安装和依赖管理工具,比传统工具(如pip)有着更快、更高效的体验,:本文主要介绍python依赖管理工具UV... 目录前言一、命令安装uv二、手动编译安装2.1在archlinux安装uv的依赖工具2.2从github

Java中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例解析

《Java中的分布式系统开发基于Zookeeper与Dubbo的应用案例解析》本文将通过实际案例,带你走进基于Zookeeper与Dubbo的分布式系统开发,本文通过实例代码给大家介绍的非常详... 目录Java 中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例一、分布式系统中的挑战二

C#实现SHP文件读取与地图显示的完整教程

《C#实现SHP文件读取与地图显示的完整教程》在地理信息系统(GIS)开发中,SHP文件是一种常见的矢量数据格式,本文将详细介绍如何使用C#读取SHP文件并实现地图显示功能,包括坐标转换、图形渲染、平... 目录概述功能特点核心代码解析1. 文件读取与初始化2. 坐标转换3. 图形绘制4. 地图交互功能缩放