国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

js前端實現多圖圖片上傳預覽的兩個方法(推薦)

2019-11-19 18:57:02
字體:
來源:轉載
供稿:網友

一、將圖片轉成icon碼的實現方式

html代碼:

<div class="yanzRight">	<input style="margin-top:5px;float: left;" id="st18" name="evidence" onchange="previewImage(this,5)" type="file"/>	<span class="dui" id="imgOrder_dui" style="display: none;"></span></div>	<div id="preview5" style="margin-left:150px;clear:both; padding-top:15px;">	<img src="" alt="" id="imghead5" height="200" width="200" style="display:none;"/></div>

js代碼

//圖片預覽功能function previewImage(file,imgNum){ var MAXWIDTH = 200;  var MAXHEIGHT = 200; var div = document.getElementById('preview'+imgNum); if (file.files && file.files[0]) {  div.innerHTML ='<img id=imghead'+imgNum+'>';  var img = document.getElementById('imghead'+imgNum+'');  img.onload = function(){  var rect = clacImgZoomParam(MAXWIDTH, MAXHEIGHT, img.offsetWidth, img.offsetHeight);  img.width = rect.width;  img.height = rect.height;//   img.style.marginLeft = rect.left+'px';  img.style.marginTop = rect.top+'px';  }  var reader = new FileReader();  reader.onload = function(evt){img.src = evt.target.result;}  reader.readAsDataURL(file.files[0]); } else // { var sFilter='filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale,src="'; file.select(); var src = document.selection.createRange().text; div.innerHTML = '<img id=imghead'+imgNum+'>'; var img = document.getElementById('imghead2'); img.filters.item('DXImageTransform.Microsoft.AlphaImageLoader').src = src; var rect = clacImgZoomParam(MAXWIDTH, MAXHEIGHT, img.offsetWidth, img.offsetHeight); status =('rect:'+rect.top+','+rect.left+','+rect.width+','+rect.height); div.innerHTML = "<div id=divhead"+imgNum+" style='width:"+rect.width+"px;height:"+rect.height+"px;margin-top:"+rect.top+"px;"+sFilter+src+"/"'></div>"; }}function clacImgZoomParam( maxWidth, maxHeight, width, height ){ var param = {top:0, left:0, width:width, height:height}; if( width>maxWidth || height>maxHeight ) {  rateWidth = width / maxWidth;  rateHeight = height / maxHeight;  if( rateWidth > rateHeight )  {   param.width = maxWidth;   param.height = Math.round(height / rateWidth);  }else  {   param.width = Math.round(width / rateHeight);   param.height = maxHeight;  } } param.left = Math.round((maxWidth - param.width) / 2); param.top = Math.round((maxHeight - param.height) / 2); return param;}

二、使用js的另一種方法一次選中多個圖片預覽展示

<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>測試頁面</title><script type="text/javascript"> //下面用于多圖片上傳預覽功能 function setImagePreviews(avalue) {  var docObj = document.getElementById("doc");  var dd = document.getElementById("dd");  dd.innerHTML = "";  var fileList = docObj.files;  for (var i = 0; i < fileList.length; i++) {      dd.innerHTML += "<div style='float:left' > <img id='img" + i + "' /> </div>";   var imgObjPreview = document.getElementById("img"+i);    if (docObj.files && docObj.files[i]) {    //火狐下,直接設img屬性    imgObjPreview.style.display = 'block';    imgObjPreview.style.width = '150px';    imgObjPreview.style.height = '180px';    //imgObjPreview.src = docObj.files[0].getAsDataURL();    //火狐7以上版本不能用上面的getAsDataURL()方式獲取,需要一下方式    imgObjPreview.src = window.URL.createObjectURL(docObj.files[i]);   }   else {    //IE下,使用濾鏡    docObj.select();    var imgSrc = document.selection.createRange().text;    alert(imgSrc)    var localImagId = document.getElementById("img" + i);    //必須設置初始大小    localImagId.style.width = "150px";    localImagId.style.height = "180px";    //圖片異常的捕捉,防止用戶修改后綴來偽造圖片    try {     localImagId.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)";     localImagId.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = imgSrc;    }    catch (e) {     alert("您上傳的圖片格式不正確,請重新選擇!");     return false;    }    imgObjPreview.style.display = 'none';    document.selection.empty();   }  }   return true; }</script></head><body><div style="margin :0px auto; width:990px;"><input type="file" name="file" id="doc" multiple="multiple" style="width:150px;" onchange="javascript:setImagePreviews();" accept="image/*" /><div id="dd" style=" width:990px;"></div></div></body></html>

以上這篇js前端實現多圖圖片上傳預覽的兩個方法(推薦)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 晴隆县| 葵青区| 永济市| 农安县| 德清县| 平山县| 札达县| 青冈县| 建阳市| 宝山区| 厦门市| 盱眙县| 峨山| 休宁县| 化德县| 清镇市| 恩施市| 夏津县| 怀来县| 荃湾区| 永济市| 左权县| 利川市| 崇阳县| 武胜县| 鱼台县| 神池县| 科尔| 宾阳县| 清镇市| 普定县| 苍溪县| 伽师县| 施甸县| 新田县| 延边| 永宁县| 承德市| 莎车县| 延边| 和平县|