using System;
          using System.Web;
          using System.Web.UI;
          using System.IO;
          using System.Drawing;
          using System.Drawing.Imaging;
          using System.Drawing.Drawing2D;
          using System.Text.RegularExpressions;

          namespace BaseProject.Classes.Util
          {
              public class UpLoad
              {
                  /// <summary>
                  /// 指定路徑 圖片大小
                  /// </summary>
                  /// <param name="dir"></param>
                  /// <param name="width"></param>
                  /// <param name="height"></param>
                  /// <returns></returns>
                  public string GetSqlFile(string dir, int width, int height)
                  {
                      string sqlfile = "";
                      string path = HttpContext.Current.Request.PhysicalApplicationPath.ToString() + "upload/";
                      path += dir;
                      if (Directory.Exists(path))
                      {

                      }
                      else
                      {
                          Directory.CreateDirectory(path);
                      }
                      if (Directory.Exists(path + "/small"))
                      {
                      }
                      else
                      {
                          Directory.CreateDirectory(path + "/small");
                      }
                      HttpFileCollection files = HttpContext.Current.Request.Files;
                      if (files[0].FileName.ToString().Length > 0)
                      {
                        
                          string filename = files[0].FileName.ToString();
                          string datestr = new StringOperate().ConvertChineseCharacterToSpelling(Regex.Replace(filename, "[^\\u4e00-\\u9fa5]", ""))+DateTime.Now.ToString("yyyyMMddHmmfff") ;
                          string ext = filename.Substring(filename.LastIndexOf(".")).ToLower();
                          if (ext != ".bmp" && ext != ".jpg" && ext != ".gif" && ext != ".jpeg")
                          {
                              HttpContext.Current.Response.Write("<script>alert('上傳的文件不是.gif,jpg,jpeg,bmp格式')</script>");
                              return "";
                          }
                          files[0].SaveAs(path + "/" + datestr + ext);
                          #region 生成小圖
                          string originalFilename = path + "/" + datestr + ext;
                        
                          //縮小的倍數(shù)
                          int iScale = 1;
                          //從文件取得圖片對象
                          Image image = null;
                          try
                          {
                              image = Image.FromFile(originalFilename);
                          }
                          catch
                          {
                              //
                              try
                              {
                                  File.Delete(originalFilename);
                                  image.Dispose();

                              }
                              catch
                              {
                              }
                              HttpContext.Current.Response.Write("<script>alert('上傳的文件不是.gif,jpg,jpeg,bmp圖片的標(biāo)準格式格式')</script>");
                              return "";

                          }
                          int hi = 0;
                          int wi = 0;
                          wi = width;
                          hi = height;
                          Size size = new Size(wi, hi);
                          //新建一個bmp圖片
                          Image bitmap = new Bitmap(size.Width, size.Height);
                          //新建一個畫板
                          Graphics g = Graphics.FromImage(bitmap);
                          //設(shè)置高質(zhì)量插值法
                          g.InterpolationMode = InterpolationMode.High;
                          //設(shè)置高質(zhì)量,低速度呈現(xiàn)平滑程度
                          g.SmoothingMode = SmoothingMode.HighQuality;
                          //清空一下畫布
                          g.Clear(Color.Blue);
                          //在指定位置畫圖
                          g.DrawImage(image, new Rectangle(0, 0, bitmap.Width, bitmap.Height), new Rectangle(0, 0, image.Width, image.Height), GraphicsUnit.Pixel);
                          if (ext == ".jpg" || ext == ".jpeg")
                              bitmap.Save(path + "/small/" + datestr + ext, ImageFormat.Jpeg);
                          if (ext == ".gif")
                              bitmap.Save(path + "/small/" + datestr + ext, ImageFormat.Gif);
                          if (ext == ".bmp")
                              bitmap.Save(path + "/small/" + datestr + ext, ImageFormat.Bmp);
                          image.Dispose();
                          bitmap.Dispose();
                          g.Dispose();
                          #endregion
                          sqlfile = datestr + ext;

                          try
                          {
                              image.Dispose();
                              bitmap.Dispose();
                              g.Dispose();
                          }
                          catch (Exception ex)
                          {
                              string exc = ex.Message.ToString();
                              HttpContext.Current.Response.Write("<script>alert('" + exc + "');</script>");
                          }
                      }
                      else
                      {
                          sqlfile = "";
                      }
                      return sqlfile;
                  }
                  /// <summary>
                  /// 指定路徑 圖片大小
                  /// </summary>
                  /// <param name="dir"></param>
                  /// <param name="width"></param>
                  /// <param name="height"></param>
                  /// <returns></returns>
                  public string GetSqlFileSmallImage(string dir, int width, int height)
                  {
                      string sqlfile = "";
                      string path = HttpContext.Current.Request.PhysicalApplicationPath.ToString() + "upload/";
                      path += dir;
                      if (Directory.Exists(path))
                      {

                      }
                      else
                      {
                          Directory.CreateDirectory(path);
                      }
                      if (Directory.Exists(path + "/small"))
                      {
                      }
                      else
                      {
                          Directory.CreateDirectory(path + "/small");
                      }
                      HttpFileCollection files = HttpContext.Current.Request.Files;
                      if (files[0].FileName.ToString().Length > 0)
                      {
                          string filename = files[0].FileName.ToString();
                          string tempFileName = filename.Substring(filename.LastIndexOf('\\') + 1, filename.LastIndexOf('.') - (filename.LastIndexOf('\\') + 1));
                          string datestr = new StringOperate().ConvertChineseCharacterToSpelling(Regex.Replace(filename, "[^\\u4e00-\\u9fa5]", "")) + DateTime.Now.ToString("yyyyMMddHmmfff");
                          string ext = filename.Substring(filename.LastIndexOf(".")).ToLower();
                          if (ext != ".bmp" && ext != ".jpg" && ext != ".gif" && ext != ".jpeg")
                          {
                              HttpContext.Current.Response.Write("<script>alert('上傳的文件不是.gif,jpg,jpeg,bmp格式')</script>");
                              return "";
                          }
                          files[0].SaveAs(path + "/" + datestr + ext);
                          #region 生成小圖
                          string originalFilename = path + "/" + datestr + ext;
                        
                          //縮小的倍數(shù)
                          //int iScale = 1;
                          //從文件取得圖片對象
                          Image image = null;
                          try
                          {
                              image = Image.FromFile(originalFilename);
                          }
                          catch
                          {
                              //
                              try
                              {
                                  File.Delete(originalFilename);
                                  image.Dispose();

                              }
                              catch
                              {
                              }
                              HttpContext.Current.Response.Write("<script>alert('上傳的文件不是.gif,jpg,jpeg,bmp圖片的標(biāo)準格式格式')</script>");
                              return "";

                          }
                          int hi = 0;
                          int wi = 0;
                          wi = width;
                          hi = height;
                          Size size = new Size(wi, hi);
                          //新建一個bmp圖片
                          Image bitmap = new Bitmap(size.Width, size.Height);
                          //新建一個畫板
                          Graphics g = Graphics.FromImage(bitmap);
                          //設(shè)置高質(zhì)量插值法
                          g.InterpolationMode = InterpolationMode.High;
                          //設(shè)置高質(zhì)量,低速度呈現(xiàn)平滑程度
                          g.SmoothingMode = SmoothingMode.HighQuality;
                          //清空一下畫布
                          g.Clear(Color.Blue);
                          //在指定位置畫圖
                          g.DrawImage(image, new Rectangle(0, 0, bitmap.Width, bitmap.Height), new Rectangle(0, 0, image.Width, image.Height), GraphicsUnit.Pixel);
                          if (ext == ".jpg" || ext == ".jpeg")
                              bitmap.Save(path + "/small/" + datestr + ext, ImageFormat.Jpeg);
                          if (ext == ".gif")
                              bitmap.Save(path + "/small/" + datestr + ext, ImageFormat.Gif);
                          if (ext == ".bmp")
                              bitmap.Save(path + "/small/" + datestr + ext, ImageFormat.Bmp);
                          image.Dispose();
                          bitmap.Dispose();
                          g.Dispose();
                          #endregion
                          sqlfile = datestr + ext;

                          try
                          {
                              image.Dispose();
                              bitmap.Dispose();
                              g.Dispose();
                              System.IO.File.Delete(path + "/" + datestr + ext);
                          }
                          catch (Exception ex)
                          {
                              string exc = ex.Message.ToString();
                              HttpContext.Current.Response.Write("<script>alert('" + exc + "');</script>");
                          }
                      }
                      else
                      {
                          sqlfile = "";
                      }
                      return sqlfile;
                  }

              }
          }

          posted on 2009-04-02 18:36 sanmao 閱讀(751) 評論(1)  編輯  收藏

          FeedBack:
          # re: 上傳圖片類代碼
          2011-03-10 17:33 | 君不悔
          這是java代碼?  回復(fù)  更多評論
            

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           

          常用鏈接

          留言簿(5)

          隨筆分類

          隨筆檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 五华县| 富裕县| 阿尔山市| 施秉县| 藁城市| 礼泉县| 临洮县| 都匀市| 布尔津县| 阿巴嘎旗| 西林县| 沁源县| 湖北省| 论坛| 大渡口区| 筠连县| 时尚| 福贡县| 襄汾县| 滨州市| 临夏县| 岗巴县| 宁强县| 裕民县| 措勤县| 宁阳县| 九龙坡区| 如皋市| 浑源县| 吉隆县| 津市市| 宁国市| 石林| 广平县| 乐亭县| 乐昌市| 清水河县| 桐城市| 射洪县| 阳谷县| 湖南省|