亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

 更新時(shí)間:2015年12月19日 11:47:41   作者:天空還下著雪  
這篇文章主要介紹了js實(shí)現(xiàn)圖片上傳并正常顯示,我們經(jīng)常遇到上傳照片的情況,如何實(shí)現(xiàn)圖片上傳,本文為大家進(jìn)行揭曉,感興趣的小伙伴們可以參考一下

項(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)過不斷的篩選總結(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通過濾鏡的方式實(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ì)有所幫助。

相關(guān)文章

  • JS正則替換去空格的方法

    JS正則替換去空格的方法

    這篇文章主要介紹了JS正則替換去空格的方法,結(jié)合實(shí)例形式對(duì)比分析了針對(duì)全角與半角空格的刪除技巧,涉及replace正則替換的使用方法,需要的朋友可以參考下
    2017-03-03
  • JavaScript 調(diào)試器簡(jiǎn)介

    JavaScript 調(diào)試器簡(jiǎn)介

    JavaScript 調(diào)試器其實(shí)有很多。當(dāng)然這些僅僅是調(diào)試器而已,與流行的 Java IDE 是沒有辦法相提并論的。
    2009-02-02
  • 詳解適配器在JavaScript中的體現(xiàn)

    詳解適配器在JavaScript中的體現(xiàn)

    在日常開發(fā)中,很多時(shí)候會(huì)不經(jīng)意間寫出符合某種設(shè)計(jì)模式的代碼,而適配器其實(shí)在JavaScript中應(yīng)該是比較常見的一種了。這篇文章主要介紹了適配器在JavaScript中的體現(xiàn) ,需要的朋友可以參考下
    2018-09-09
  • 微信小程序?qū)崿F(xiàn)左滑修改、刪除功能

    微信小程序?qū)崿F(xiàn)左滑修改、刪除功能

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)左滑修改、刪除功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-10-10
  • JavaScript中解決多瀏覽器兼容性23個(gè)問題的快速解決方法

    JavaScript中解決多瀏覽器兼容性23個(gè)問題的快速解決方法

    下面小編就為大家?guī)硪黄狫avaScript中解決多瀏覽器兼容性23個(gè)問題的快速解決方法。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-05-05
  • javascript實(shí)現(xiàn)的時(shí)間格式加8小時(shí)功能示例

    javascript實(shí)現(xiàn)的時(shí)間格式加8小時(shí)功能示例

    這篇文章主要介紹了javascript實(shí)現(xiàn)的時(shí)間格式加8小時(shí)功能,涉及javascript日期時(shí)間轉(zhuǎn)換與運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下
    2019-06-06
  • js實(shí)現(xiàn)圖片緩慢放大縮小效果

    js實(shí)現(xiàn)圖片緩慢放大縮小效果

    這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)圖片緩慢放大縮小效果的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-08-08
  • JS delegate與live淺析

    JS delegate與live淺析

    這篇文章主要介紹了JS delegate與live,有需要的朋友可以參考一下
    2013-12-12
  • CSS、JS文件無法正確加載至頁(yè)面問題與解決辦法分享

    CSS、JS文件無法正確加載至頁(yè)面問題與解決辦法分享

    這篇文章主要給大家介紹了關(guān)于CSS、JS文件無法正確加載至頁(yè)面問題與解決辦法,文中通過圖文以及代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2024-01-01
  • Bootstrap柵格系統(tǒng)學(xué)習(xí)筆記

    Bootstrap柵格系統(tǒng)學(xué)習(xí)筆記

    這篇文章主要為大家詳細(xì)介紹了Bootstrap柵格系統(tǒng)學(xué)習(xí)筆記,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-11-11

最新評(píng)論