1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > html实现多图片上传并预览 【前端预览】实现多张上传图片预览查看

html实现多图片上传并预览 【前端预览】实现多张上传图片预览查看

时间:2022-06-30 19:33:27

相关推荐

html实现多图片上传并预览 【前端预览】实现多张上传图片预览查看

alert("抱歉,你的浏览器不支持 FileReader");

input.setAttribute(‘disabled‘,‘disabled‘);

}else{

input.addEventListener(‘change‘,readFile,false);

}functionreadFile(){

fd= newFormData();var iLen = this.files.length;for(var i=0;i

return alert("上传的图片格式不正确,请重新选择");

}var reader = newFileReader();

fd.append(i,this.files[i]);

reader.readAsDataURL(this.files[i]); //转成base64

reader.fileName = this.files[i].name;

reader.οnlοad= function(e){var imgMsg ={

name :this.fileName,//获取文件名

base64 : this.result //reader.readAsDataURL方法执行完后,base64数据储存在reader.result里

}

dataArr.push(imgMsg);

result= ‘

delete‘;var div = document.createElement(‘div‘);

div.innerHTML=result;

div[‘className‘] = ‘float‘;

document.getElementsByTagName(‘body‘)[0].appendChild(div); //插入dom树

var img = div.getElementsByTagName(‘img‘)[0];

img.οnlοad= function(){var nowHeight = ReSizePic(this); //设置图片大小

this.parentNode.style.display = ‘block‘;var oParent = this.parentNode;if(nowHeight){

oParent.style.paddingTop= (oParent.offsetHeight - nowHeight)/2 + ‘px‘;

}

}

div.οnclick= function(){

$(this).remove(); //在页面中删除该图片元素

}

}

}

}/*function send(){

var submitArr = [];

$(‘.subPic‘).each(function () {

submitArr.push({

name: $(this).attr(‘alt‘),

base64: $(this).attr(‘src‘)

});

}

);

$.ajax({

url : ‘http://123.206.89.242:9999‘,

type : ‘post‘,

data : JSON.stringify(submitArr),

dataType: ‘json‘,

//processData: false, 用FormData传fd时需有这两项

//contentType: false,

success : function(data){

console.log(‘返回的数据:‘+JSON.stringify(data))

}

})

}*/

/*oSelect.οnclick=function(){

oInput.value = ""; // 先将oInput值清空,否则选择图片与上次相同时change事件不会触发

//清空已选图片

$(‘.float‘).remove();

oInput.click();

}

oAdd.οnclick=function(){

oInput.value = ""; // 先将oInput值清空,否则选择图片与上次相同时change事件不会触发

oInput.click();

}

oSubmit.οnclick=function(){

if(!dataArr.length){

return alert(‘请先选择文件‘);

}

send();

}*/}/*用ajax发送fd参数时要告诉jQuery不要去处理发送的数据,

不要去设置Content-Type请求头才可以发送成功,否则会报“Illegal invocation”的错误,

也就是非法调用,所以要加上“processData: false,contentType: false,”

**/

functionReSizePic(ThisPic) {var RePicWidth = 200; //这里修改为您想显示的宽度值

var TrueWidth = ThisPic.width; //图片实际宽度

var TrueHeight = ThisPic.height; //图片实际高度

if(TrueWidth>TrueHeight){//宽大于高

var reWidth =RePicWidth;

ThisPic.width=reWidth;//垂直居中

var nowHeight = TrueHeight * (reWidth/TrueWidth);

return nowHeight; //将图片修改后的高度返回,供垂直居中用

}else{//宽小于高

var reHeight =RePicWidth;

ThisPic.height=reHeight;

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。