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

javascript圖片預(yù)覽和上傳(兼容IE)

 更新時(shí)間:2017年03月15日 14:30:52   作者:Fayin  
這篇文章主要為大家詳細(xì)介紹了javascript圖片預(yù)覽和上傳的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了js圖片預(yù)覽和上傳的具體代碼,供大家參考,具體內(nèi)容如下

var dailiApply = {

   change: function (evt) {
    evt.preventDefault();
    var pic = document.getElementById("preview"),
     file = document.getElementById("f");

    var ext=file.value.substring(file.value.lastIndexOf(".")+1).toLowerCase();
    // gif在IE瀏覽器暫時(shí)無法顯示
    if(ext!='png'&&ext!='jpg'&&ext!='jpeg'){
     alert("圖片的格式必須為png或者jpg或者jpeg格式!");
     return;
    }
    var isIE = navigator.userAgent.match(/MSIE/)!= null,
     isIE6 = navigator.userAgent.match(/MSIE 6.0/)!= null;

    if(isIE) {
     file.select();
     var reallocalpath = document.selection.createRange().text;

     // IE6瀏覽器設(shè)置img的src為本地路徑可以直接顯示圖片
     if (isIE6) {
      pic.src = reallocalpath;
     }else {
      // 非IE6版本的IE由于安全問題直接設(shè)置img的src無法顯示本地圖片,但是可以通過濾鏡來實(shí)現(xiàn)
      pic.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='image',src=\"" + reallocalpath + "\")";
      // 設(shè)置img的src為base64編碼的透明圖片 取消顯示瀏覽器默認(rèn)圖片
      pic.src = 'data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==';
     }
    }else {
     var file_arr = file.files;
     var ul = $(".weui_uploader_files");
     if(file_arr.length < 7) {
      for(var key in file_arr) {
       if(file_arr.hasOwnProperty(key)) {
        var f = file_arr[key];
        var url = URL.createObjectURL(f);
        var reader = new FileReader();
        console.log(f);
        reader.readAsDataURL(f);
        n +=1;
        if(n < 7) {
         reader._onload = function(e) {

          // 拼接顯示預(yù)覽圖片的html
          var list = $("<li class='weui_uploader_file' style='position: relative'>" +
           "<img id='preview" + n + "' class=preview_li' style='width: 100%;height: 100%'>" +
           "<span id='delImg" + n+ "' style='position: absolute; top: 0; right: 4px; color: #e4007f'>X</span></li>");
          ul.append(list);
          // 將轉(zhuǎn)化后的圖片地址放在img中
          var pic = document.getElementById('preview' + n);
          //pic.src = this.result;
          pic.src=url;
          dailiApply.compress(f, .7,undefined);
          //images.push(f);
          document.getElementById('delImg' + n).addEventListener("click", function () {
           $(this).parent().remove();
           --n;
          });

         };
         reader._onload();
        }else {
         $.alert("最多上傳6張圖片");
         n = 6;
        }
       }
      }
     }else {
      $.alert("最多上傳6張圖片");
     }
    }
    return false;
   },
   /**
    * @param {Object} f input選擇的圖片 必填
    * @param {String} quality  圖片壓縮的質(zhì)量[0, 1]
    * @param {String} output_img_type  輸出圖片的類型
    */
   compress: function (f, quality, output_img_type) {
    var mime_type = "image/jpeg";
    if(output_img_type!=undefined && output_img_type=="image/png"){
     mime_type = "image/png";
    }
    createImageBitmap(f).then(function(imageBitmap) {
     var max = 1000; // 設(shè)置最大分辨率
     var c_w = '';
     var c_h = '';
     var width = imageBitmap.width;
     var height = imageBitmap.height;
     // 等比例縮放
     if (width > max || height > max) {
      if (width > height) {
       c_w = max;
       c_h = max * height / width;
      } else {
       c_h = max;
       c_w = max * width / height;
      }
     }else {  // 不縮放
      c_w = width;
      c_h = height;
     }

     var canvas = document.createElement('canvas');
     canvas.width = c_w;
     canvas.height = c_h;
     var ctx = canvas.getContext('2d');
     ctx.drawImage(imageBitmap,0,0, width, height, 0, 0, c_w, c_h);
     canvas.toBlob(function(blob){
      images.push(blob);
     },mime_type, quality);
    });
   },
   submit: function () {
    var content = $(".weui_textarea").val().trim();
    var xhr = new XMLHttpRequest();
    var fd = new FormData(document.getElementById('uploadForm'));
    $.each(images,function(i,e){
     fd.append("images", e);
    });
    fd.append("remark", content);
    fd.append("substationproxyId", 8);
    console.log(images);
    console.log(fd);
    if(content) {
     $.ajax({
      url: CONFIG.API.addSubProxyRecruit,
      type: "POST",
      data: fd,

      processData: false, // tell jQuery not to process the data
      contentType: false, // tell jQuery not to set contentType
      beforeSend: function (xhr) {
       $.showLoading();
       $(this).prop("disabled", true)
      },
      success: function (json) {
       console.log(json);
       $.hideLoading();
       $(this).prop("disabled", false);
       if(json.errorCode == 0) {
        $.alert("保存成功", function () {
         location.reload();
        })
       }else if(json.errorCode == "-101") {
        $.alert('出錯(cuò):' +json.message, function () {
         location.href = CONFIG.HTML.login;
        });
       }else {
        $.alert(json.message, function () {

        })
       }
      }
     });
    }else {
     $.alert('請輸入內(nèi)容');
    }

   }

  };

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • SWFObject Flash js調(diào)用類

    SWFObject Flash js調(diào)用類

    一直想為 SWFObject 這個(gè)JS的類庫寫一個(gè)推薦帖,因?yàn)樗p便,同時(shí)功能強(qiáng)大,為我們的開發(fā)帶來了很大的便捷。
    2008-07-07
  • js實(shí)現(xiàn)3d懸浮效果

    js實(shí)現(xiàn)3d懸浮效果

    本文主要分享了js實(shí)現(xiàn)3d懸浮效果的示例代碼,具有很好的參考價(jià)值,下面跟著小編一起來看下吧
    2017-02-02
  • 搞定immutable.js詳細(xì)說明

    搞定immutable.js詳細(xì)說明

    Immutable Data是指一旦被創(chuàng)造后,就不可以被改變的數(shù)據(jù)。通過使用Immutable Data,可以讓我們更容易的去處理緩存、回退、數(shù)據(jù)變化檢測等問題,簡化我們的開發(fā)
    2016-05-05
  • 用JS實(shí)現(xiàn)飛機(jī)大戰(zhàn)小游戲

    用JS實(shí)現(xiàn)飛機(jī)大戰(zhàn)小游戲

    這篇文章主要為大家詳細(xì)介紹了用JS實(shí)現(xiàn)飛機(jī)大戰(zhàn)小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • JS如何理解data URL

    JS如何理解data URL

    這篇文章主要介紹了JS如何理解data URL,對data URL感興趣的同學(xué),可以參考下
    2021-04-04
  • Javascript前端下載后臺(tái)傳來的文件流代碼實(shí)例

    Javascript前端下載后臺(tái)傳來的文件流代碼實(shí)例

    這篇文章主要介紹了Javascript前端下載后臺(tái)傳來的文件流代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • 替換json對象中的key最佳方案

    替換json對象中的key最佳方案

    本文給大家介紹如何替換json對象中的key,通過實(shí)例代碼給大家介紹key的替換方法,代碼也很簡單,需要的朋友參考下吧
    2021-06-06
  • ion content 滾動(dòng)到底部會(huì)遮住一部分視圖的快速解決方法

    ion content 滾動(dòng)到底部會(huì)遮住一部分視圖的快速解決方法

    本文給大家?guī)砹薸on content 滾動(dòng)到底部會(huì)遮住一部分視圖的快速解決方法,其實(shí)解決方法超簡單的,只要在你的controller里面預(yù)先注入$ionicScrollDelegate就可以了,感興趣的朋友通過本文一起學(xué)習(xí)吧
    2016-09-09
  • JavaScript Date對象功能與用法學(xué)習(xí)記錄

    JavaScript Date對象功能與用法學(xué)習(xí)記錄

    這篇文章主要介紹了JavaScript Date對象功能與用法,結(jié)合實(shí)例形式總結(jié)分析了JavaScript Date對象基本功能、用法及操作注意事項(xiàng),需要的朋友可以參考下
    2020-04-04
  • 利用js動(dòng)態(tài)添加刪除table行的示例代碼

    利用js動(dòng)態(tài)添加刪除table行的示例代碼

    本篇文章主要是對利用js動(dòng)態(tài)添加刪除table行的示例代碼進(jìn)行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助
    2013-12-12

最新評論

乳山市| 颍上县| 武威市| 宁晋县| 保定市| 府谷县| 青神县| 闽侯县| 台南市| 团风县| 大化| 信宜市| 静乐县| 凤翔县| 泰来县| 通江县| 怀宁县| 越西县| 香港| 凌源市| 泰安市| 荔波县| 长阳| 抚远县| 应城市| 红原县| 通山县| 潜山县| 彩票| 奉节县| 福贡县| 奇台县| 峨边| 无极县| 和林格尔县| 曲沃县| 左贡县| 绍兴市| 托克托县| 油尖旺区| 阳谷县|