溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

ASP.NET+easyUI框架如何實(shí)現(xiàn)圖片上傳功能

發(fā)布時(shí)間:2021-08-27 09:54:15 來源:億速云 閱讀:107 作者:小新 欄目:開發(fā)技術(shù)

這篇文章將為大家詳細(xì)講解有關(guān)ASP.NET+easyUI框架如何實(shí)現(xiàn)圖片上傳功能,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

具體內(nèi)容如下

<div>
  選擇圖片:<input id="idFile"  runat="server" name="pic" onchange="javascript:setImagePreview(this,localImag,preview);" type="file" />
</div>
  預(yù)  覽:
<div id="localImag">
  <%--預(yù)覽,默認(rèn)圖片--%>
  <img id="preview" alt="" onclick="over(preview,divImage,imgbig);" src="img/5691.jpg" /> 
</div>
<script>
    //檢查圖片的格式是否正確,同時(shí)實(shí)現(xiàn)預(yù)覽
    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]; //這個(gè)文件類型正則很有用 
        ////布爾型變量
        var isExists = false;
        //循環(huán)判斷圖片的格式是否正確
        for (var i in array) {
          if (fileContentType.toLowerCase() == array[i].toLowerCase()) {
            //圖片格式正確之后,根據(jù)瀏覽器的不同設(shè)置圖片的大小
            if (obj.files && obj.files[0]) {
              //火狐下,直接設(shè)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;
              //必須設(shè)置初始大小 
              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("您上傳的圖片格式不正確,請(qǐng)重新選擇!");
                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、寬和高都超過了,看誰超過的多,誰超的多就將誰設(shè)置為最大值,其余策略按照2、3 
      //2、如果寬超過了并且高沒有超,設(shè)置寬為最大值 
      //3、如果寬沒超過并且高超過了,設(shè)置高為最大值 

      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>

界面效果圖:

ASP.NET+easyUI框架如何實(shí)現(xiàn)圖片上傳功能

關(guān)于“ASP.NET+easyUI框架如何實(shí)現(xiàn)圖片上傳功能”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI