欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > 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上傳圖片及上傳前先預覽功能實例代碼的相關信息資訊供網民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    亚洲视频在线一区二区| 91在线看国产| 一本加勒比北条麻妃| 69成人精品免费视频| 亚洲国产精品视频| 久久久无码人妻精品无码| 欧美亚洲国产一区二区三区 | 亚洲妇熟xx妇色黄| 国产又黄又嫩又滑又白| 欧美在线免费视屏| 亚洲综合免费观看高清完整版在线 | 精品国产一区二区三区忘忧草 | 香蕉久久夜色精品国产使用方法| 中文字幕精品综合| 九色porny丨国产精品| 成人国产精品久久久网站| 26uuu国产日韩综合| 韩国午夜理伦三级不卡影院| a资源在线观看| 国产片一区二区| 成人激情视频网站| 色av成人天堂桃色av| 一区二区高清免费观看影视大全| 亚洲 自拍 另类 欧美 丝袜| 欧美日韩成人综合| 日韩av中文字幕一区二区三区| 欧美色图亚洲激情| 久久久.com| 成人精品视频一区二区三区 | 国产一区二区h| 日韩在线观看视频一区二区| 亚洲激情欧美激情| 又黄又爽的网站| 久久综合久久综合久久| 国产成人精品亚洲午夜麻豆| 色素色在线综合| 亚洲成av人片一区二区三区| 成人晚上爱看视频| 日韩一区二区免费电影| 国产精品麻豆久久久| 国产成人免费9x9x人网站视频| 性折磨bdsm欧美激情另类| 欧美一级日韩一级| 激情综合亚洲精品| 色综合激情久久| 亚州成人在线电影| 91成人精品一区二区| 亚洲女同一区二区| 中国黄色a级片| 国产精品欧美一级免费| 免费在线观看日韩av| 精品久久久久久久久久久院品网 | 国产日韩高清在线| 91丨九色porny丨蝌蚪| 欧美一区2区视频在线观看| 国产在线播精品第三| 在线观看91视频| 美日韩一区二区三区| 色偷偷88欧美精品久久久| 丝袜美腿亚洲一区| 暗呦丨小u女国产精品| 五月婷婷综合在线| 永久免费看片直接| 水野朝阳av一区二区三区| 小嫩苞一区二区三区| 午夜精品影院在线观看| 国产黄a三级三级| 亚洲一区二区偷拍精品| 国产又黄又粗又猛又爽的| 亚洲国产精品综合小说图片区| 久久久免费看片| 午夜精品久久久久久久蜜桃app| 美国精品一区二区| 五月天视频一区| 一区二区视频免费看| 蜜桃视频在线观看一区二区| 91传媒视频在线播放| 国内精品国产三级国产a久久| 精品视频999| 国产成人av网站| 欧美电视剧在线观看完整版| 91亚洲国产成人精品一区二三| 精品国产一区a| 岛国av免费观看| 亚洲欧洲日韩综合一区二区| 国产高清一区二区三区四区| 亚洲成人av免费| 日本道精品一区二区三区| 国产在线国偷精品产拍免费yy| 7777精品伊人久久久大香线蕉的 | 在线观看日产精品| 国产精品小仙女| 日韩精品一区二区三区三区免费| 欧美色图校园春色| 国产精品夫妻自拍| 国产精品18在线| 捆绑调教美女网站视频一区| 欧美日韩亚洲国产综合| 成熟亚洲日本毛茸茸凸凹| 久久久一区二区| 在线 丝袜 欧美 日韩 制服| 亚洲高清免费观看高清完整版在线观看 | 制服丝袜日韩国产| 日本xxxx免费| 一区二区三区色| 色综合天天狠狠| 国产成人精品一区二区三区四区| 久久综合五月天婷婷伊人| 51调教丨国产调教视频| 午夜电影网亚洲视频| 精品1区2区3区| 中文字幕avav| 亚洲免费大片在线观看| 婷婷色中文字幕| 成人h精品动漫一区二区三区| 欧美激情综合在线| 九九这里只有精品视频| 国内精品写真在线观看| 久久久美女毛片| 亚洲天堂av中文字幕| 国产一区福利在线| 国产人久久人人人人爽| 五月天免费网站| 国产成人av一区| 国产精品福利一区| a级黄色片免费看| 99久久精品国产一区| 亚洲欧美日韩国产成人精品影院| 色偷偷久久人人79超碰人人澡| 成人app网站| 一区二区三区在线视频免费| 欧美日韩亚洲综合在线| 久久福利小视频| 日本午夜一本久久久综合| 精品日韩99亚洲| 欧美成人短视频| 国产99精品视频| 中文字幕一区av| 欧美性色黄大片手机版| 亚洲av熟女高潮一区二区| 婷婷综合五月天| 2021国产精品久久精品| 看黄色录像一级片| 97se亚洲国产综合自在线观| 亚洲一区欧美一区| 日韩一二在线观看| 国产传媒国产传媒| 成人免费看的视频| 亚洲综合另类小说| 91精品国产麻豆| 久久久久久久久福利| 成人永久免费视频| 亚洲综合无码一区二区| 欧美一级二级三级乱码| 国产1区2区在线观看| 成人av网站在线| 性感美女久久精品| 久久亚洲综合色| 在线免费看av网站| 免费国偷自产拍精品视频| 日韩影视精彩在线| 国产亚洲人成网站| 色乱码一区二区三区88| 天堂www中文在线资源| 韩国三级在线一区| 亚洲欧美日韩久久精品| 欧美一区二区大片| 国产色无码精品视频国产| aaaaa黄色片| 久久99精品久久久| 亚洲欧美另类小说| 日韩欧美一区二区视频| 登山的目的在线| 久久久久久久穴| 国产一区二区三区香蕉 | 女女调教被c哭捆绑喷水百合| 日本最新不卡在线| 国产精品丝袜久久久久久app| 欧美日韩专区在线| 亚洲一级黄色录像| 亚洲精品一区二区18漫画| 蜜桃精品在线观看| 亚洲男人电影天堂| 26uuu国产日韩综合| 欧美午夜影院一区| 免费黄色片网站| 国产成人精品一区二区三区在线观看| 美女国产一区二区三区| 国产精品久久久99| 精品日韩一区二区三区| 色老头久久综合| 欧美黄色高清视频| 亚洲美女精品视频| 国产a精品视频| 男女男精品视频网| 一区二区三区四区在线播放| 久久久精品黄色| 欧美一卡二卡三卡| 欧美在线三级电影| 国产精品综合激情|