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

首頁(yè) > 編程 > JavaScript > 正文

js實(shí)現(xiàn)圖片上傳并正常顯示

2019-11-20 10:58:48
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

項(xiàng)目經(jīng)常會(huì)用到頭像上傳,那么怎么實(shí)現(xiàn)呢?

首先是HTML布局:

<label for="thumbnail" class="col-md-3 control-label">縮略圖</label><div class="col-md-6"> <input type="file" class="form-control" id="thumbnail" name="thumbnail"></div>

jquery方式,IE不支持,但I(xiàn)E會(huì)獲得絕對(duì)的上傳路徑信息:

function getObjectURL(file) { var url = null ; if (window.createObjectURL!=undefined) { // basic url = window.createObjectURL(file) ; } else if (window.URL!=undefined) { // mozilla(firefox) url = window.URL.createObjectURL(file) ; } else if (window.webkitURL!=undefined) { // webkit or chrome url = window.webkitURL.createObjectURL(file) ; } return url ;}$('#thumbnail').change(function() { var eImg = $('<img />'); eImg.attr('src', getObjectURL($(this)[0].files[0])); // 或 this.files[0] this->input $(this).after(eImg);});

網(wǎng)上找一份可用的代碼非常不易,經(jīng)過(guò)不斷的篩選總結(jié)才得出兼容所有的文件上傳顯示
HTML布局

<form action='' method='post' name='myform'> <input type='file' id='iptfileupload' onchange='show()' value='' /> <img src='1.jpg' alt='' id='img' /></form>

JS代碼:

<script type="text/javascript"> function getPath(obj,fileQuery,transImg) {  var imgSrc = '', imgArr = [], strSrc = '' ;  if(window.navigator.userAgent.indexOf("MSIE")>=1){ // IE瀏覽器判斷  if(obj.select){   obj.select();   var path=document.selection.createRange().text;   alert(path) ;   obj.removeAttribute("src");   imgSrc = fileQuery.value ;   imgArr = imgSrc.split('.') ;   strSrc = imgArr[imgArr.length - 1].toLowerCase() ;   if(strSrc.localeCompare('jpg') === 0 || strSrc.localeCompare('jpeg') === 0 || strSrc.localeCompare('gif') === 0 || strSrc.localeCompare('png') === 0){   obj.setAttribute("src",transImg);   obj.style.filter=    "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+path+"', sizingMethod='scale');"; // IE通過(guò)濾鏡的方式實(shí)現(xiàn)圖片顯示   }else{   //try{   throw new Error('File type Error! please image file upload..');    //}catch(e){   // alert('name: ' + e.name + 'message: ' + e.message) ;   //}   }  }else{   // alert(fileQuery.value) ;   imgSrc = fileQuery.value ;   imgArr = imgSrc.split('.') ;   strSrc = imgArr[imgArr.length - 1].toLowerCase() ;   if(strSrc.localeCompare('jpg') === 0 || strSrc.localeCompare('jpeg') === 0 || strSrc.localeCompare('gif') === 0 || strSrc.localeCompare('png') === 0){   obj.src = fileQuery.value ;   }else{   //try{   throw new Error('File type Error! please image file upload..') ;   //}catch(e){   // alert('name: ' + e.name + 'message: ' + e.message) ;   //}   }  }  } else{  var file =fileQuery.files[0];  var reader = new FileReader();  reader.onload = function(e){   imgSrc = fileQuery.value ;   imgArr = imgSrc.split('.') ;   strSrc = imgArr[imgArr.length - 1].toLowerCase() ;   if(strSrc.localeCompare('jpg') === 0 || strSrc.localeCompare('jpeg') === 0 || strSrc.localeCompare('gif') === 0 || strSrc.localeCompare('png') === 0){   obj.setAttribute("src", e.target.result) ;   }else{   //try{   throw new Error('File type Error! please image file upload..') ;   //}catch(e){   // alert('name: ' + e.name + 'message: ' + e.message) ;   //}   }   // alert(e.target.result);   }  reader.readAsDataURL(file);  } } function show(){  //以下即為完整客戶端路徑  var file_img=document.getElementById("img"),  iptfileupload = document.getElementById('iptfileupload') ;  getPath(file_img,iptfileupload,file_img) ; } </script>

更多精彩內(nèi)容請(qǐng)參考專題《ajax上傳技術(shù)匯總》,《javascript文件上傳操作匯總》《jQuery上傳操作匯總》進(jìn)行學(xué)習(xí)。

希望本文所述對(duì)大家學(xué)習(xí)javascript程序設(shè)計(jì)有所幫助。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 山西省| 财经| 高要市| 阳曲县| 涿州市| 敖汉旗| 大渡口区| 尖扎县| 岑巩县| 惠东县| 铜梁县| 隆德县| 乌兰浩特市| 西华县| 宁远县| 江口县| 曲麻莱县| 林西县| 定结县| 崇州市| 三江| 铁岭县| 新兴县| 德州市| 济源市| 白城市| 辽宁省| 嘉义市| 营山县| 天柱县| 新建县| 嘉义市| 梅河口市| 册亨县| 清新县| 徐闻县| 沾化县| 安多县| 湘乡市| 托里县| 天水市|