<tr id="ohcdf"></tr>
    <ins id="ohcdf"><option id="ohcdf"></option></ins>

    <ins id="ohcdf"></ins>
  1. <tr id="ohcdf"></tr>

      <small id="ohcdf"></small><tr id="ohcdf"><small id="ohcdf"><delect id="ohcdf"></delect></small></tr><code id="ohcdf"></code>
        潤宇軟件
        首 頁 企業簡介 項目案例 軟件定制 行業軟件 解決方案 企業資訊 服務專區 客服中心
        業務介紹:西安軟件公司、軟件開發、軟件定制、軟件外包
        軟件 方案 文章
          潤宇軟件 >> 新聞資訊  >> 解決方案

        潤宇軟件NET生成縮略圖并下載

        發布時間:2018/2/1  瀏覽次數:16次  字體【    】

        1.添加一個html:GetminPic.html

           代碼:

        <!DOCTYPE html>
        <html xmlns="http://www.w3.org/1999/xhtml">
        <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
            <title></title>
        </head>
        <body>
            <form action="Getmin.ashx" method="post" enctype="multipart/form-data">
                圖片:<input type="file" name="file" id="file" onchange="javascript:fileInfo();" />
                <p style="font-size:12px;">原圖寬:<label id="ow">0</label>&nbsp;原圖高:<label id="oh">0</label>&nbsp;
                    原圖大小:<label id="os">0</label>KB</p>
              <p>設置寬度:<input type="text" name="width" style="width:50px;"/>
                  <span style="color:#09a02c;font-size:12px">高度按原圖比例折算</span></p>
               <p><input type="submit" style="color:#ff6a00" value="下載縮略圖" /> </p> 
            </form>
            
        </body>
        </html>
         <script type="text/javascript">
             //上傳前獲取圖片信息(用html5的File)
             function fileInfo() {
                 var f = document.getElementById("file").files[0];
                 var reader = new FileReader();
                 reader.readAsDataURL(f);
                 reader.onload = function (e) {
                     var data = e.target.result;
                     //加載一個圖片獲取寬度高度
                     var image = new Image();
                     image.src = data;
                     image.onload = function () {
                         var width = image.width;
                         var height = image.height;
                         var size = parseInt(f.size / 1024);
                         document.getElementById("ow").innerHTML = width;
                         document.getElementById("oh").innerHTML = height;
                         document.getElementById("os").innerHTML = size;
                     };
        
                 }
             }
            </script>

        2.添加一個一般處理程序:Getmin.ashx

        代碼:

         public void ProcessRequest(HttpContext context)
                {
                    //1.獲取用戶上傳的文件流
                    HttpPostedFile file = context.Request.Files[0];
                    //獲取文件名
                    string fileName = file.FileName;
                    //獲取擴展名
                    string Extension = Path.GetExtension(fileName).ToUpper();
                    //2.根據用戶上傳的文件流創建一個圖片
                    using (Image originalImage = Image.FromStream(file.InputStream))
                    {
                    //獲取原始圖片的寬和高
                        int owidth = originalImage.Width;
                        int oheight = originalImage.Height;
                        //縮略圖的寬
                        int mwidth = Convert.ToInt32(context.Request.Form["width"]);
                        //等比例的高,取整數
                        int mheight = mwidth * oheight / owidth;
                        //3.根據原始圖片,等比例創建一個縮小后的圖片
                        using (Image minImage = new Bitmap(mwidth, mheight))
                        {
                           //4.把大圖片內容畫到小圖片上
                            //基于小圖創建一個畫布對象
                            Graphics gmin = Graphics.FromImage(minImage);
                            //把大圖畫到小圖上
                            gmin.DrawImage(originalImage, 0, 0, mwidth, mheight);
        
                            //5.下載縮略圖
                            MemoryStream ms = new MemoryStream();
                            //判斷圖片類型
                            ImageFormat imageFormat = null;
                            string ContentType = "";
                            switch (Extension)
                            {
                                case ".JPG": imageFormat = ImageFormat.Jpeg; ContentType = "image/jpeg"; break;
                                case ".PNG": imageFormat = ImageFormat.Png; ContentType = "image/png"; break;
                                case ".GIF": imageFormat = ImageFormat.Gif; ContentType = "image/gif"; break;
                                //................如需要其他圖片格式繼續添加
                            }
                            minImage.Save(ms,imageFormat);
                            context.Response.ClearContent();
                            context.Response.AddHeader("Content-Disposition", "attachment;  filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8)); 
                            context.Response.ContentType=ContentType;
                            context.Response.BinaryWrite(ms.ToArray());
                            context.Response.End();
                        }
                    }
                }
        
                public bool IsReusable
                {
                    get
                    {
                        return false;
                    }
                }
          關閉本頁
        西部IT網合作伙伴 合作伙伴
        陜西省 | 榆林 | 延安 | 銅川 | 渭南 | 商洛 | 寶雞 | 漢中 | 安康 | 咸陽
        網站首頁 | 關于我們 | 售后服務 | 項目合同 | 查看留言 | 在線留言 | 客服中心
        © 版權所有:西安潤宇軟件科技有限公司 
        公司地址:西安市絲路國際創意夢工廠4號樓 聯系電話:029-87878512 手機:13468700578 聯系人:李先生
        Copyright ® 2009-2015 RunYusoft.com Inc. All Rights Reserved 
        技術支持:西安潤宇軟件科技有限公司  陜ICP備11000720號
        精品久久一区二区三区无码,久久亚洲AV成人无码国产精品,久久久久精品a毛片,亚洲精品无码九九九九