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;
}
}
總結
以上是生活随笔為你收集整理的html实现多图片上传并预览,【前端预览】实现多张上传图片预览查看的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iphone手机上三个麦克风作用
- 下一篇: 2017年html5行业报告,云适配发布