2019-09-06 23:53:10 +08:00

104 lines
3.5 KiB
JavaScript
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

jQuery.noConflict();
//关闭图片上传区
function closeUploadArea(){
var data='#upload_close,#upload_button,#upload_modal';
var data2='.return_users,.useri_info,#useri_info,#footer';
WST.showHide('',data);
WST.showHide(1,data2);
//清空图片上传区的内容
$('#clipArea').find('img').remove();
$('#file').val('');
$('#view').css('background-image','');
$('#imgData').val('');
}
jQuery('#uploadImg').on('change', function() {
var data='.return_users,.useri_info,#useri_info,#footer';
var data2='#upload_close,#upload_button,#upload_modal';
WST.showHide('',data);
WST.showHide(1,data2);
});
//头像上传
jQuery("#clipArea").photoClip({
width: 350,
height: 350,
file: "#uploadImg",
view: "#view",
ok: "#upload_button",
loadStart: function() {
$('#Load').show();
},
loadComplete: function() {
$('#Load').hide();
},
clipFinish: function(dataURL) {
jQuery('#imgData').val(dataURL);
var imgData = $('#imgData').val();
if(!imgData || imgData==''){
WST.msg('请先选择图片','info');
return false;
}
// 上传裁剪好的图片
funUploadFile(dataURL);
}
});
/**
* @param base64Codes
* 图片的base64编码
*/
funUploadFile=function(base64Codes){
var self = this;
var formData = new FormData();
//convertBase64UrlToBlob函数是将base64编码转换为Blob
//append函数的第一个参数是后台获取数据的参数名,在php中用$FILES['imageName']接收,
var imgSuffix = base64Codes.split(";")[0].split('/')[1];
formData.append("imageName",self.convertBase64UrlToBlob(base64Codes),"image."+imgSuffix);
//ajax 提交form
$.ajax({
// 你后台的接收地址
url : WST.U('wechat/users/uploadPic',{'dir':'users','isTumb':1}),
type : "POST",
data : formData,
dataType:"json",
processData : false, // 告诉jQuery不要去处理发送的数据
contentType : false, // 告诉jQuery不要去设置Content-Type请求头
success:function(data){
var json = WST.toJson(data);
if(json.status==1){
$.post(WST.U('wechat/users/editUserInfo'), {userPhoto:json.savePath+json.name}, function(data){
if(json.status==1){
WST.msg('修改头像成功','success');
jQuery('#imgurl').attr('src', WST.conf.ROOT +'/'+json.savePath+'/'+json.name);
}else{
WST.msg('修改头像失败,请重试','warn');
return false;
}
});
}else{
WST.msg(json.msg,'warn');
}
closeUploadArea();
$('#Load').hide();
}
});
}
/**
* 将以base64的图片url数据转换为Blob
* @param urlData
* 用url方式表示的base64图片数据
*/
convertBase64UrlToBlob=function(urlData){
//去掉url的头并转换为byte
var bytes=window.atob(urlData.split(',')[1]);
//处理异常,将ascii码小于0的转换为大于0
var ab = new ArrayBuffer(bytes.length);
var ia = new Uint8Array(ab);
for (var i = 0; i < bytes.length; i++) {
ia[i] = bytes.charCodeAt(i);
}
// 此处type注意与photoClip初始化中的outputType类型保持一致
return new Blob( [ab] , {type : 'image/jpeg'});
}