最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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ì)獲得絕對的上傳路徑信息:

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)容請參考專題《ajax上傳技術(shù)匯總》,《javascript文件上傳操作匯總》《jQuery上傳操作匯總》進(jìn)行學(xué)習(xí)。

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

相關(guān)文章

  • JS中完美兼容各大瀏覽器的scrolltop方法

    JS中完美兼容各大瀏覽器的scrolltop方法

    最近用到scrolloTop()想去獲取滾動(dòng)條距離頂部的距離,結(jié)果只有chrome下面可以正常的獲取scrollTop,ff和ie下這個(gè)值都等于0,使得許多效果比如屏幕滾動(dòng)等等均無法正常實(shí)現(xiàn)。究其原因是scrollTop()在各個(gè)瀏覽器中的兼容性問題,今天我們就來詳細(xì)探討下。
    2015-04-04
  • JS如何判斷對象是否包含某個(gè)屬性

    JS如何判斷對象是否包含某個(gè)屬性

    這篇文章主要介紹了JS如何判斷對象是否包含某個(gè)屬性,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Bootstrap幻燈片輪播圖支持觸屏左右手勢滑動(dòng)的實(shí)現(xiàn)方法

    Bootstrap幻燈片輪播圖支持觸屏左右手勢滑動(dòng)的實(shí)現(xiàn)方法

    最近在研究用bootstrap搭建網(wǎng)站,Bootstrap能自適應(yīng)pc端和手機(jī)端,并且移動(dòng)設(shè)備優(yōu)先,適合現(xiàn)如今移動(dòng)營銷,大家用的設(shè)備基本是觸屏的了,能用滑動(dòng)交互在小屏幕上體驗(yàn)會(huì)更好,那么如何實(shí)現(xiàn)呢?下面小編給大家介紹下bootstrap 手勢滑動(dòng)輪播圖的實(shí)現(xiàn)方法
    2016-10-10
  • 微信小程序?qū)崿F(xiàn)搖篩子效果

    微信小程序?qū)崿F(xiàn)搖篩子效果

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)搖篩子效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • 第八篇Bootstrap下拉菜單實(shí)例代碼

    第八篇Bootstrap下拉菜單實(shí)例代碼

    這篇文章主要介紹了Bootstrap下拉菜單實(shí)例代碼的相關(guān)知識,非常不錯(cuò),具有參考借鑒價(jià)值,感興趣的朋友一起學(xué)習(xí)吧
    2016-06-06
  • javascript 自定義常用方法

    javascript 自定義常用方法

    在實(shí)際的js開發(fā)過程中,我們常常會(huì)有相似或相同的需求。這時(shí)候如果沒有很好的封裝(通用功能),代碼的重復(fù)將不可避免。
    2009-08-08
  • 解決微信小程序中轉(zhuǎn)換時(shí)間格式IOS不兼容的問題

    解決微信小程序中轉(zhuǎn)換時(shí)間格式IOS不兼容的問題

    今天小編就為大家分享一篇關(guān)于解決微信小程序中轉(zhuǎn)換時(shí)間格式IOS不兼容的問題,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • JS實(shí)現(xiàn)普通輪播圖特效

    JS實(shí)現(xiàn)普通輪播圖特效

    這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)普通輪播圖特效,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-01-01
  • setInterval計(jì)時(shí)器不準(zhǔn)的問題解決方法

    setInterval計(jì)時(shí)器不準(zhǔn)的問題解決方法

    在js中如果打算使用setInterval進(jìn)行倒數(shù),計(jì)時(shí)等功能,往往是不準(zhǔn)確的,針對這個(gè)問題,本文有個(gè)不錯(cuò)的解決方案
    2014-05-05
  • 詳解基于Vue cli生成的Vue項(xiàng)目的webpack4升級

    詳解基于Vue cli生成的Vue項(xiàng)目的webpack4升級

    這篇文章主要介紹了詳解基于Vue cli生成的Vue項(xiàng)目的webpack4升級,本文將詳細(xì)介紹從webpack3到webpack4的升級過程,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-06-06

最新評論

都江堰市| 昌图县| 皮山县| 即墨市| 民县| 万年县| 纳雍县| 德庆县| 资阳市| 涪陵区| 钦州市| 民县| 嘉定区| 西藏| 林周县| 顺昌县| 崇明县| 左贡县| 监利县| 沙河市| 衡阳市| 汾阳市| 师宗县| 辽宁省| 伊金霍洛旗| 龙门县| 兴隆县| 邻水| 平陆县| 吉首市| 外汇| 南雄市| 阿克苏市| 那曲县| 客服| 东山县| 永仁县| 杭锦旗| 绍兴县| 凌云县| 八宿县|