//上传这里使用的是ajax请求,使用的是构建form表单形式上传,其他形式还未尝试,所以用ajax方式
change:function(str,obj){
if(str=="updateLogo"){
if(obj.target.files.length>1){
vmToast.show("只能选择一个图片");
return false;
}
var file = obj.target.files[0];//获取选择的文件
if(file){
//获取上传的文件名
var name = file.name;
// 获取文件后缀
var sfIndex=name.lastIndexOf(".");//后缀位置的.的位置
var ext=name.substring(sfIndex,name.length).toUpperCase();//截取后缀
// 文件大小 单位:M
var size=parseInt(file.size/1024/1024);
//判断文件类型,后台也要做判断
if(ext !='.PNG' && ext !='.GIF' && ext !='.JPG' && ext !='.JPEG' && ext !='.BMP'){
vmToast.show("文件类型错误,请上传正确图片类型(png、gif、jpg、jpeg、bmp)");
return false;
}
if(size>10){//文件过大,部分服务器流量有限制,而且后续打开会比较慢
alert("文件已大于10M,请换个小点的图片");
return false;
}
if (window.FileReader) {
var reader = new FileReader();
reader.readAsDataURL(file); //开始读
//监听文件读取结束后事件
reader.onloadend = function (e) {
//e.target.result就是最后的路径地址
var formData=new FormData();//构建form表单
formData.append("file",file);
//ajax发送提交图片请求
$.ajax({
type: "post",
//后面是拼接的文件名,这里是logo,应该是jugetek开始
url: "***",
async: true, //异步
data: formData,
cache:false,//不缓存
dataType:"json",
mimeType:"multipart/form-data",
processData:false,
contentType:false,
timeout: 1000 * 15,
success:function(data) {
console.log(data.data[0]);
if(data.status){
console.log(data.data[0]);
}else{
vmToast.show(data.data[0],2000);
}
},
error: function(ajaxobj) { //有异常
vmToast.show("异常:"+ajaxobj.responseText);
console.log(ajaxobj.responseText);
}
});
};
}else{
vmToast.show("您的设备不支持图片预览功能,如需该功能请升级您的设备!");
}
}
}
}
//上传文本文件类似,就是读取方式有所变化