上传图片模块
最后更新于:2022-04-01 23:48:30
# 上传图片模块
**apicloud代码部分**
~~~
function UpdateAvatar()
{
api.actionSheet({
cancleTitle : '取消',
buttons : ['拍照', '打开相册']
}, function(ret, err) {
if (ret.buttonIndex == 3) {
return;
}
var sourceType = (ret.buttonIndex == 1) ? 'camera' : 'album';
api.getPicture({
sourceType : sourceType,
destinationType:'url',
allowEdit : true,
quality : 70,
targetWidth : 100,
targetHeight : 100
}, function(ret, err) {
if (ret.data) {
var img=ret.data;
var uid=$api.getStorage('user').id;
api.ajax({
url : 'http://www.xxxxcom.cn/index.php?g=Osapp&m=Mine&a=updateAvatar',
method : 'post',
cache : false,
timeout : 30,
dataType : 'json',
data : {
files : {upfile : ret.data},
values:{uid:uid}
}
}, function(ret, err) {
if (ret.msg==1) {
$api.attr($api.byId("avatarImg"), 'src', img);
var user = $api.getStorage('user');
user.avatar = img;
$api.setStorage('user', user);
} else {
alert('上传失败');
}
});
}else{
alert($api.jsonToStr(err));
}
});
});
}
~~~
**后台处理数据部分**
~~~
public function updateAvatar(){
$uid=$_POST['uid'];
$upload = new \Think\Upload();// 实例化上传类
$upload->maxSize = 3145728 ;// 设置附件上传大小
$upload->exts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型
$upload->rootPath = './'.C("UPLOADPATH"); // 设置附件上传根目录
$upload->savePath = './avatar/'; // 设置附件上传(子)目录
$info = $upload->uploadOne($_FILES['upfile']);
if(!$info) {// 上传错误提示错误信息
$arr=array('msg'=>0);
echo json_encode($arr);
}else{// 上传成功
$avatar=$info['savename'];
$user_model=M('users');
$ret=$user_model->find($uid);
$old_img=$ret['avatar'];
$result=$user_model->where(array("id"=>$uid))->save(array("avatar"=>$avatar));
if($result){
// 删除旧的头像
sp_delete_avatar($old_img);
$arr=array('msg'=>1);
echo json_encode($arr);
}
}
}
~~~
';