国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

jquery實現圖片上傳前本地預覽

2019-11-19 16:41:48
字體:
來源:轉載
供稿:網友

前段時間遇到一個問題,前端想實現圖片上傳預覽(不經過后端PHP或JAVA處理),用戶點擊file按鈕上傳文件,點擊確定馬上就能看到預覽的效果,但在實現的時候無論怎樣都取不到file上圖片的真實路徑,得到的反而是C:/fakepath/a.jpg,這個路徑是錯誤的。百度之后得到說瀏覽器基于保護用戶的相關安全措施,隱藏了上傳的真實路徑,用fakepath代替,當然,調整瀏覽器的相關安全設置可以解決這個問題。但我們不可能讓所有用戶都通過設置瀏覽器的安全設置來進行圖片上傳,這種方法在網絡交互上顯然不現實。

名稱:圖片上傳本地預覽插件 v1.1

介紹:基于JQUERY擴展,圖片上傳預覽插件 目前兼容瀏覽器(IE 谷歌 火狐) 不支持safari

插件網站: http://keleyi.com/keleyi/phtml/image/16.htm

參數說明:

  Img:圖片ID;
  Width:預覽寬度;
  Height:預覽高度;
  ImgType:支持文件類型;
  Callback:選擇文件顯示圖片后回調方法;

使用方法:

<div><img id="ImgPr" width="120" height="120" /></div><input type="file" id="up" />

把需要進行預覽的IMG標簽外 套一個DIV 然后給上傳控件ID給予uploadPreview事件

$("#up").uploadPreview({ Img: "ImgPr", Width: 120, Height: 120, ImgType: ["gif", "jpeg", "jpg", "bmp", "png"], Callback: function () { }});

實例:

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    }//高版本Jquey使用 if ($.support.leadingWhitespace)    if ($.browser.msie) { //低版本jquery中使用的方式     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()   }  }) }});

調用:

$(function () { $("#up").uploadPreview({ Img: "ImgPr", Width: 120, Height: 120 });});

HTML結構:

<div><img id="ImgPr" width="120" height="120" /></div><input type="file" id="up" />

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 沈丘县| 瑞丽市| 孝义市| 枣强县| 永春县| 丽水市| 瑞安市| 德格县| 秀山| 彭阳县| 浑源县| 屯门区| 伽师县| 修文县| 巨野县| 锡林浩特市| 沙湾县| 峨眉山市| 安国市| 高陵县| 翁牛特旗| 小金县| 深水埗区| 板桥市| 淮安市| 兖州市| 托克逊县| 襄垣县| 达尔| 巩留县| 平远县| 五莲县| 洪泽县| 扎兰屯市| 宣化县| 安吉县| 苏州市| 麻江县| 阿克苏市| 双流县| 邵东县|