基于ASP.NET+easyUI框架實現(xiàn)圖片上傳功能(判斷格式+即時瀏覽)
來源:易賢網(wǎng) 閱讀:1247 次 日期:2016-08-05 16:20:35
溫馨提示:易賢網(wǎng)小編為您整理了“基于ASP.NET+easyUI框架實現(xiàn)圖片上傳功能(判斷格式+即時瀏覽)”,方便廣大網(wǎng)友查閱!

這篇文章主要介紹了基于ASP.NET+easyUI框架實現(xiàn)圖片上傳功能的相關資料,重點在于如何判斷格式,實現(xiàn)即時瀏覽,需要的朋友可以參考下

基于ASP.Net +easyUI框架上傳圖片,判斷格式+實現(xiàn)即時瀏覽,具體內容如下:

<div>

  選擇圖片:<input id="idFile" style="width:224px" runat="server" name="pic" onchange="javascript:setImagePreview(this,localImag,preview);" type="file" />

</div>

  預  覽:

<div id="localImag">

  <%--預覽,默認圖片--%>

  <img id="preview" alt="" onclick="over(preview,divImage,imgbig);" src="img/5691.jpg" style="width: 400px; height: 400px;"/> 

</div>

--------------------------------------------------

<script>

    //檢查圖片的格式是否正確,同時實現(xiàn)預覽

    function setImagePreview(obj, localImagId, imgObjPreview) {

      var array = new Array('gif', 'jpeg', 'png', 'jpg', 'bmp'); //可以上傳的文件類型

      if (obj.value == '') {

        $.messager.alert("讓選擇要上傳的圖片!");

        return false;

      }

      else {

        var fileContentType = obj.value.match(/^(.*)(\.)(.{1,8})$/)[3]; //這個文件類型正則很有用 

        ////布爾型變量

        var isExists = false;

        //循環(huán)判斷圖片的格式是否正確

        for (var i in array) {

          if (fileContentType.toLowerCase() == array[i].toLowerCase()) {

            //圖片格式正確之后,根據(jù)瀏覽器的不同設置圖片的大小

            if (obj.files && obj.files[0]) {

              //火狐下,直接設img屬性 

              imgObjPreview.style.display = 'block';

              imgObjPreview.style.width = '400px';

              imgObjPreview.style.height = '400px';

              //火狐7以上版本不能用上面的getAsDataURL()方式獲取,需要一下方式 

              imgObjPreview.src = window.URL.createObjectURL(obj.files[0]);

            }

            else {

              //IE下,使用濾鏡 

              obj.select();

              var imgSrc = document.selection.createRange().text;

              //必須設置初始大小 

              localImagId.style.width = "400px";

              localImagId.style.height = "400px";

              //圖片異常的捕捉,防止用戶修改后綴來偽造圖片 

              try {

                localImagId.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)";

                localImagId.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = imgSrc;

              }

              catch (e) {

                $.messager.alert("您上傳的圖片格式不正確,請重新選擇!");

                return false;

              }

              imgObjPreview.style.display = 'none';

              document.selection.empty();

            }

            isExists = true;

            return true;

          }

        }

        if (isExists == false) {

          $.messager.alert("上傳圖片類型不正確!");

          return false;

        }

        return false;

      }

    }

    //顯示圖片 

    function over(imgid, obj, imgbig) {

      //大圖顯示的最大尺寸 4比3的大小 400 300 

      maxwidth = 400;

      maxheight = 300;

      //顯示 

      obj.style.display = "";

      imgbig.src = imgid.src;

      //1、寬和高都超過了,看誰超過的多,誰超的多就將誰設置為最大值,其余策略按照2、3 

      //2、如果寬超過了并且高沒有超,設置寬為最大值 

      //3、如果寬沒超過并且高超過了,設置高為最大值 

      if (img.width > maxwidth && img.height > maxheight) {

        pare = (img.width - maxwidth) - (img.height - maxheight);

        if (pare >= 0)

          img.width = maxwidth;

        else

          img.height = maxheight;

      }

      else if (img.width > maxwidth && img.height <= maxheight) {

        img.width = maxwidth;

      }

      else if (img.width <= maxwidth && img.height > maxheight) {

        img.height = maxheight;

      }

    }

</script> 

界面效果圖:

名單

以上就是本文的全部內容,希望對大家的學習有所幫助

更多信息請查看網(wǎng)絡編程
關于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65317125(9:00—18:00) 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:526150442(9:00—18:00)版權所有:易賢網(wǎng)