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
‘+this.fileName+‘
‘;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;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值