直接上例子
<input type="hidden" id="idcard_img_1" />
<img onclick="uploadHeadPic('idcard_img_1','idcard_img_1_img')" id="idcard_img_1_img" src="../image/icon/add.png" alt="">
上面这个 input 隐藏域很重要 因为我们提交的时候后台需要接受一个图片的id
等下回附上提交的代码
下面直接写方法
function uploadHeadPic(valueId,imgId) {
// var _this = this;
api.actionSheet({
title : '上传照片',
cancelTitle : '取消',
buttons : ['拍照', '手机相册']
}, function(ret, err) {
if (ret) {
if (ret.buttonIndex == 1) {
api.getPicture({
sourceType : 'camera',
encodingType : 'jpg',
mediaValue : 'pic',
destinationType : 'url',
allowEdit : false,
quality : 100,
saveToPhotoAlbum : false
}, function(ret, err) {
// alert(JSON.stringify(ret));
if (ret) {
saveImg(ret.data,valueId,imgId);
} else {
api.toast({
msg : '图像获取失败',
duration : 3000,
location : 'bottom'
});
}
});
} else if (ret.buttonIndex == 2) {
//手机相册选图片
api.getPicture({
sourceType : 'library',
encodingType : 'png',
mediaValue : 'pic',
destinationType : 'url',
allowEdit : true,
quality : 100,
preview:true,
saveToPhotoAlbum : false
}, function(ret, err) {
// alert(JSON.stringify(ret.data));
if (ret) {
saveImg(ret.data,valueId,imgId);
} else {
api.toast({
msg : '图像获取失败',
duration : 3000,
location : 'bottom'
});
}
});
}
}
});
};
//保存剪辑图像
function saveImg(path,valueId,imgId) {
api.showProgress({
title: '上传中...',
text: '先喝杯茶...',
});
//上传剪辑后的图像到服务器
api.ajax({
// report : false,
url : URL_API + 'upload/upload/dir/images',
//这里是我们约定好的后台上传图片的位置 ,你可以根据你的需求来改
method : 'post',
cache : 'false',
timeout : 30,
dataTpye : 'json',
data : {
files : {
file : path
}
}
}, function(ret, err) {
// alert(JSON.stringify(ret));
api.hideProgress();
if (ret.status == 1) {
api.toast({
msg : ret.info
});
}
//上传进度
if (ret.status == 0) {
api.toast({
msg : '上传错误',
duration : 3000,
location : 'bottom'
});
} else if (ret.status == 1) {
$api.byId(valueId).value = ret.id;
$api.byId(imgId).src = ret.path;
}
});
};
到达这一步你的图上是上传到对应的路径下了
我们还需要提交一个ajax来记录这个图片,上面说的id了
在你提交的ajax方法中先获取到这个张图的id
var idcard_img_1 = document.getElementById('idcard_img_1').value;
ajax的提交格式不依依写了直接写上data中的内容
api.ajax({
url: URL_API + 'user/add_job/token/' + token,
method: 'post',
data: {
values: {
job_name:_this.job_name,
//上面后台需要什么数据就传什么数据
thumb: idcard_img_1, //这里就很关键了,比如我们在
//后台用thumb来表示这个张图片,然后帮这个存在数据库中
//以后就可以根据这个标识来找到这个图片了
//我不会写后台,这是我的了解
},
}
},function(ret, err){
//下面的可以不用看 这是后台我们约定的状态
//根据不同的状态来做不同的操作
// alert( JSON.stringify( err ) );
if (ret.code==1) {
api.toast({
msg: ret.info
})
api.openWin({
name: 'recruitment_management',
url: './recruitment_management.html',
});
}else if (ret.code==0) {
api.toast({
msg: ret.info
})
}else if (ret.code==-1) {
api.toast({
msg: ret.info
})
api.openWin({
name: 'login',
url: "user/login/login.html"
})
}
});