婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Ajax上傳圖片及上傳前先預覽功能實例代碼

Ajax上傳圖片及上傳前先預覽功能實例代碼

熱門標簽:立陶宛地圖標注 河間市地圖標注app 中國地圖標注不明確情況介紹表 上海企業外呼系統價錢 地圖標注推銷坑人 電銷機器人 長春 東平縣地圖標注app 怎樣在地圖標注文字 大眾點評400電話怎么申請

手頭上有幾個小項目用到了easyUI,一開始決定使用easyUI就注定了項目整體上前后端分離,基本上所有的請求都采用Ajax來完成。在文件上傳的時候用到了Ajax上傳文件,以及圖片在上傳之前的預覽效果,解決了這兩個小問題,和小伙伴們分享下。

上傳之前的預覽

方式一

先來說說圖片上傳之前的預覽問題。這里主要采用了HTML5中的FileReader對象來實現,關于FileReader對象,如果小伙伴們不了解,可以查看這篇文章HTML5學習之FileReader接口。我們來看看實現方式:

!DOCTYPE html>
html lang="en">
head>
 meta charset="UTF-8">
 title>Ajax上傳文件/title>
 script src="jquery-3.2.1.js">/script>
/head>
body>
用戶名:input id="username" type="text">br>
用戶圖像:input id="userface" type="file" onchange="preview(this)">br>
div id="preview">/div>
input type="button" id="btnClick" value="上傳">
script>
 $("#btnClick").click(function () {
  var formData = new FormData();
  formData.append("username", $("#username").val());
  formData.append("file", $("#userface")[0].files[0]);
  $.ajax({
   url: '/fileupload',
   type: 'post',
   data: formData,
   processData: false,
   contentType: false,
   success: function (msg) {
    alert(msg);
   }
  });
 });
 function preview(file) {
  var prevDiv = document.getElementById('preview');
  if (file.files  file.files[0]) {
   var reader = new FileReader();
   reader.onload = function (evt) {
    prevDiv.innerHTML = 'img src="' + evt.target.result + '" />';
   }
   reader.readAsDataURL(file.files[0]);
  } else {
   prevDiv.innerHTML = 'div class="img" style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale,src=\'' + file.value + ''">/div>';
  }
 }
/script>
/body>
/html>

這里對于支持FileReader的瀏覽器直接使用FileReader來實現,不支持FileReader的瀏覽器則采用微軟的濾鏡來實現(注意給圖片上傳的input標簽設置onchange函數)。

實現效果如下:

方式二

除了這種方式之外我們也可以采用網上現成的一個jQuery實現的方式。這里主要參考了這里。

不過由于原文年代久遠,里邊使用的$.browser.msie從jQuery1.9就被移除掉了,所以如果我們想使用這個得做一點額外的處理,我修改后的uploadPreview.js文件內容如下:

jQuery.browser={};(function(){jQuery.browser.msie=false; jQuery.browser.version=0;if(navigator.userAgent.match(/MSIE ([0-9]+)./)){ jQuery.browser.msie=true;jQuery.browser.version=RegExp.$1;}})();
jQuery.fn.extend({
 uploadPreview: function (opts) {
  var _self = this,
   _this = $(this);
  opts = jQuery.extend({
   Img: "ImgPr",
   Width: 100,
   Height: 100,
   ImgType: ["gif", "jpeg", "jpg", "bmp", "png"],
   Callback: function () {}
  }, opts || {});
  _self.getObjectURL = function (file) {
   var url = null;
   if (window.createObjectURL != undefined) {
    url = window.createObjectURL(file)
   } else if (window.URL != undefined) {
    url = window.URL.createObjectURL(file)
   } else if (window.webkitURL != undefined) {
    url = window.webkitURL.createObjectURL(file)
   }
   return url
  };
  _this.change(function () {
   if (this.value) {
    if (!RegExp("\.(" + opts.ImgType.join("|") + ")$", "i").test(this.value.toLowerCase())) {
     alert("選擇文件錯誤,圖片類型必須是" + opts.ImgType.join(",") + "中的一種");
     this.value = "";
     return false
    }
    if ($.browser.msie) {
     try {
      $("#" + opts.Img).attr('src', _self.getObjectURL(this.files[0]))
     } catch (e) {
      var src = "";
      var obj = $("#" + opts.Img);
      var div = obj.parent("div")[0];
      _self.select();
      if (top != self) {
       window.parent.document.body.focus()
      } else {
       _self.blur()
      }
      src = document.selection.createRange().text;
      document.selection.empty();
      obj.hide();
      obj.parent("div").css({
       'filter': 'progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)',
       'width': opts.Width + 'px',
       'height': opts.Height + 'px'
      });
      div.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = src
     }
    } else {
     $("#" + opts.Img).attr('src', _self.getObjectURL(this.files[0]))
    }
    opts.Callback()
   }
  })
 }
});

然后在我們的html文件中引入這個js文件即可:

!DOCTYPE html>
html lang="en">
head>
 meta charset="UTF-8">
 title>Ajax上傳文件/title>
 script src="jquery-3.2.1.js">/script>
 script src="uploadPreview.js">/script>
/head>
body>
用戶名:input id="username" type="text">br>
用戶圖像:input id="userface" type="file" onchange="preview(this)">br>
div>img id="ImgPr" width="200" height="200"/>/div>
input type="button" id="btnClick" value="上傳">
script>
 $("#btnClick").click(function () {
  var formData = new FormData();
  formData.append("username", $("#username").val());
  formData.append("file", $("#userface")[0].files[0]);
  $.ajax({
   url: '/fileupload',
   type: 'post',
   data: formData,
   processData: false,
   contentType: false,
   success: function (msg) {
    alert(msg);
   }
  });
 });
 $("#userface").uploadPreview({Img: "ImgPr", Width: 120, Height: 120});
/script>
/body>
/html>

這里有如下幾點需要注意:

1.HTML頁面中要引入我們自定義的uploadPreview.js文件

2.預先定義好要顯示預覽圖片的img標簽,該標簽要有id。

3.查找到img標簽然后調用uploadPreview函數

執行效果如下:

Ajax上傳圖片文件

Ajax上傳圖片文件就簡單了,沒有那么多方案,核心代碼如下:

 var formData = new FormData();
  formData.append("username", $("#username").val());
  formData.append("file", $("#userface")[0].files[0]);
  $.ajax({
   url: '/fileupload',
   type: 'post',
   data: formData,
   processData: false,
   contentType: false,
   success: function (msg) {
    alert(msg);
   }
  });

核心就是定義一個FormData對象,將要上傳的數據包裝到這個對象中去。然后在ajax上傳數據的時候設置data屬性就為formdata,processData屬性設置為false,表示jquery不要去處理發送的數據,然后設置contentType屬性的值為false,表示不要設置請求頭的contentType屬性。OK,主要就是設置這三個,設置成功之后,其他的處理就和常規的ajax用法一致了。

后臺的處理代碼大家可以在文末的案例中下載,這里我就不展示不出來了。

源碼下載:http://xiazai.jb51.net/201707/yuanma/AjaxFileUpload.rar

總結

以上所述是小編給大家介紹的Ajax上傳圖片及上傳前先預覽功能實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

您可能感興趣的文章:
  • jQuery AjaxUpload 上傳圖片代碼
  • php+ajax無刷新上傳圖片實例代碼
  • swfupload ajax無刷新上傳圖片實例代碼
  • jquery的ajaxSubmit()異步上傳圖片并保存表單數據演示代碼
  • JQuery+ajax實現批量上傳圖片(自寫)
  • Jquery ajaxsubmit上傳圖片實現代碼
  • AJAX實現圖片預覽與上傳及生成縮略圖的方法
  • Ajax 上傳圖片并預覽的簡單實現
  • 基于HTML5的可預覽多圖片Ajax上傳
  • 用ajax實現預覽鏈接可以看到鏈接的內容

標簽:本溪 銅川 玉樹 益陽 遼寧 營口 四川 內江

巨人網絡通訊聲明:本文標題《Ajax上傳圖片及上傳前先預覽功能實例代碼》,本文關鍵詞  Ajax,上傳,圖片,及,前先,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Ajax上傳圖片及上傳前先預覽功能實例代碼》相關的同類信息!
  • 本頁收集關于Ajax上傳圖片及上傳前先預覽功能實例代碼的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    亚洲国产cao| 久久亚洲一区二区三区四区| 欧美老年两性高潮| 午夜久久电影网| 欧美性感一区二区三区| 亚洲一二三专区| 欧美日韩免费一区二区三区| 午夜精品一区在线观看| 欧美日本一区二区| 久久国产精品99久久人人澡| 久久亚洲精品国产精品紫薇| 国产+成+人+亚洲欧洲自线| 亚洲欧洲99久久| 在线观看91精品国产入口| 亚洲精品免费看| 69av一区二区三区| 国产盗摄一区二区三区| 亚洲综合免费观看高清在线观看| 欧美日韩国产小视频| 国产综合久久久久久鬼色| 综合av第一页| 欧美日韩免费视频| 极品美女销魂一区二区三区| 日韩欧美不卡在线观看视频| 国产成a人无v码亚洲福利| 亚洲成a人v欧美综合天堂| 欧美一级久久久| 91香蕉视频黄| 日本不卡的三区四区五区| 国产精品成人一区二区三区夜夜夜| 欧美日韩在线不卡| 国产乱码精品一品二品| 五月天婷婷综合| 中文字幕综合网| 欧美一级精品大片| 91久久久免费一区二区| 久草精品在线观看| 亚洲主播在线播放| 2020国产精品| 欧美精品777| 91九色最新地址| jizz一区二区| 一区二区三区精密机械公司| 国产欧美日本一区视频| 欧美顶级少妇做爰| av在线这里只有精品| 视频在线观看91| 国产精品久久三区| 亚洲精品一区二区三区影院| 欧美二区乱c少妇| 欧美日韩一级二级| 在线观看日韩精品| 色欧美片视频在线观看| 99久久久久久| 国产久卡久卡久卡久卡视频精品| 久久不见久久见免费视频7| 久久午夜国产精品| 亚洲日本在线天堂| 国产亚洲欧洲一区高清在线观看| 欧美在线不卡一区| 99精品1区2区| 99麻豆久久久国产精品免费优播| 国产精品自拍一区| 国产精品2024| 国产成+人+日韩+欧美+亚洲| 国产一区亚洲一区| 国产经典欧美精品| 成人午夜激情视频| jiyouzz国产精品久久| voyeur盗摄精品| 色欧美日韩亚洲| 亚洲电影你懂得| 亚洲第一激情av| 成人在线视频一区| 久久久久国产精品人| 日韩欧美国产麻豆| 91 com成人网| 欧美大黄免费观看| 26uuu精品一区二区在线观看| 日韩女优视频免费观看| 91精品一区二区三区在线观看| 欧美高清视频不卡网| 日韩写真欧美这视频| 精品久久久久久久人人人人传媒| 日韩精品中文字幕在线不卡尤物| 日韩欧美国产综合一区| 久久综合成人精品亚洲另类欧美| 国产日韩v精品一区二区| 国产精品高潮久久久久无| 一区二区三区四区蜜桃| 欧美一级高清片| 国产成人综合亚洲网站| 亚洲国产精品一区二区久久 | 欧美精品日韩精品| 91精品国产黑色紧身裤美女| 久久九九影视网| 亚洲成人自拍偷拍| 懂色av一区二区三区蜜臀| 色婷婷综合激情| 91精品国产欧美日韩| 中文字幕一区二区三区四区| 麻豆精品在线看| 欧美日韩一区在线| 日本一区二区电影| 免费在线欧美视频| 91丨porny丨户外露出| 在线观看国产日韩| 久久国产精品色| 一区二区三区日韩精品视频| 伊人婷婷欧美激情| 蜜乳av一区二区| 91啪亚洲精品| 2020日本不卡一区二区视频| 亚洲主播在线播放| 不卡影院免费观看| 337p日本欧洲亚洲大胆精品| 亚洲一二三四在线观看| av中文字幕一区| 久久久九九九九| 久久激情综合网| 欧美精品一二三区| 一区二区在线观看av| 丁香六月综合激情| 精品国产一区二区三区不卡| 丝袜亚洲另类欧美| 欧美在线短视频| 亚洲柠檬福利资源导航| 高清不卡在线观看| 精品国产网站在线观看| 男人的j进女人的j一区| 91精品久久久久久蜜臀| 日韩精品电影在线| 欧美精品久久天天躁| 午夜精品免费在线| 欧美日韩精品系列| 亚洲夂夂婷婷色拍ww47| 色88888久久久久久影院野外 | 精品免费日韩av| 日韩精品久久久久久| 欧美丰满嫩嫩电影| 性做久久久久久免费观看| 欧美日韩久久久| 奇米888四色在线精品| 7777精品伊人久久久大香线蕉| 午夜天堂影视香蕉久久| 欧美一区二区三区视频免费| 麻豆成人av在线| 久久久久97国产精华液好用吗| 国产一区二区三区精品视频| 国产日产欧产精品推荐色| 波多野结衣视频一区| 亚洲综合一区二区精品导航| 欧美久久久久久久久中文字幕| 免费人成在线不卡| 日韩一级黄色大片| 国产在线国偷精品产拍免费yy| 国产色产综合色产在线视频| 99久久99久久精品国产片果冻| 一区二区高清视频在线观看| 欧美日韩国产色站一区二区三区| 日本美女一区二区| 久久日一线二线三线suv| 99久精品国产| 欧美aaaaa成人免费观看视频| 亚洲精品在线观看视频| 99视频超级精品| 日本91福利区| 国产精品免费网站在线观看| 欧亚洲嫩模精品一区三区| 久久精品久久综合| 综合色中文字幕| 日韩精品一区二区三区中文不卡| 成人h动漫精品一区二区| 午夜亚洲福利老司机| 国产精品久久久久影院老司| 欧美人狂配大交3d怪物一区| 国产iv一区二区三区| 亚洲动漫第一页| 欧美精品一区二区三区在线| 色婷婷综合久久久久中文一区二区| 加勒比av一区二区| 五月天国产精品| 中文字幕+乱码+中文字幕一区| 欧美精选一区二区| av中文字幕不卡| 国产精品一区三区| 蜜芽一区二区三区| 亚洲色图欧美偷拍| 久久久99久久精品欧美| 欧美喷水一区二区| 成人综合激情网| 国产精品原创巨作av| 美女诱惑一区二区| 午夜精品久久久久久久99水蜜桃 | 亚洲永久精品大片| 国产精品亲子乱子伦xxxx裸| 欧美夫妻性生活| 欧美中文字幕亚洲一区二区va在线 | 成人污视频在线观看| 99国内精品久久|