public string GetSqlFile(FileUpload fp, int width, int height)
                  {
                      string sqlfile = "";
                      string tempSqlPath = "";
                      string path = HttpContext.Current.Request.PhysicalApplicationPath.ToString() + "upload/";
                      path += "UploadFile/" + DateTime.Now.ToString("yyyyMM");
                      tempSqlPath = "\\upload\\UploadFile\\" + DateTime.Now.ToString("yyyyMM");
                      if (Directory.Exists(path))
                      {

                      }
                      else
                      {
                          Directory.CreateDirectory(path);
                      }
                      if (Directory.Exists(path + "/small"))
                      {
                      }
                      else
                      {
                          Directory.CreateDirectory(path + "/small");
                      }
                      if (Directory.Exists(path + "/temp"))
                      {
                      }
                      else
                      {
                          Directory.CreateDirectory(path + "/temp");
                      }
                      //HttpFileCollection files = HttpContext.Current.Request.Files;

                      if (fp.FileName.ToString().Length > 0)
                      {
                          string filename = fp.FileName.ToString();
                          string datestr = DateTime.Now.ToString("yyyyMMddHmmssfff");
                          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 "";
                          }
                          string tempFilePath = path + "/" + "temp/" + datestr + ext;
                          fp.SaveAs(tempFilePath);
                          #region 生成小圖
                          string originalFilename = path + "/" + datestr + ext;
                         //fp.FileBytes
                          //縮小的倍數
                          int iScale = 1;
                          //從文件取得圖片對象
                          System.Drawing.Image image = null;
                          try
                          {
                              image = System.Drawing.Image.FromFile(tempFilePath);
                             
                          }
                          catch
                          {
                              //
                              try
                              {
                                  File.Delete(tempFilePath);
                                  image.Dispose();

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

                          }
                          int hi = 0;
                          int wi = 0;
                          wi = width;
                          hi = height;
                          Size size = new Size(wi, hi);
                          //新建一個bmp圖片
                          System.Drawing.Image bitmap = new Bitmap(size.Width, size.Height);
                          //新建一個畫板
                          Graphics g = Graphics.FromImage(bitmap);
                          //設置高質量插值法
                          g.InterpolationMode = InterpolationMode.High;
                          //設置高質量,低速度呈現平滑程度
                          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);
                          ///大圖片
                          if (fp.FileBytes.Length > 300000){
                            //image.Width
                             // image.Height


                              wi = 800;

                              hi = Convert.ToInt32(image.Height * (Convert.ToDouble(wi) / Convert.ToDouble(image.Width)));                
                               size = new Size(wi, hi);
                              //新建一個bmp圖片
                            bitmap = new Bitmap(size.Width, size.Height);
                              //新建一個畫板
                              g = Graphics.FromImage(bitmap);
                              //設置高質量插值法
                              g.InterpolationMode = InterpolationMode.High;
                              //設置高質量,低速度呈現平滑程度
                              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(originalFilename, ImageFormat.Jpeg);
                              if (ext == ".gif")
                                  bitmap.Save(originalFilename, ImageFormat.Gif);
                              if (ext == ".bmp")
                                  bitmap.Save(originalFilename, ImageFormat.Bmp);

                          }
                          else {
                              fp.SaveAs(originalFilename);
                          }
                          image.Dispose();
                          bitmap.Dispose();
                          g.Dispose();
                          #endregion
                          sqlfile = datestr + ext;

                          try
                          {
                              image.Dispose();
                              bitmap.Dispose();
                              g.Dispose();
                              File.Delete(tempFilePath);
                          }
                          catch (Exception ex)
                          {
                              string exc = ex.Message.ToString();
                              HttpContext.Current.Response.Write("<script>alert('" + exc + "');</script>");
                          }
                      }
                      else
                      {
                          sqlfile = "";
                      }
                      sqlfile = sqlfile.Length>0?(tempSqlPath + "\\" + sqlfile):("");
                      return sqlfile;
                  }

          posted on 2009-04-01 18:02 sanmao 閱讀(417) 評論(0)  編輯  收藏

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


          網站導航:
           

          常用鏈接

          留言簿(5)

          隨筆分類

          隨筆檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 东阳市| 江陵县| 舞钢市| 湘西| 班戈县| 阜阳市| 高密市| 中方县| 丹阳市| 石家庄市| 华池县| 台安县| 涟源市| 武宣县| 吐鲁番市| 达日县| 新乐市| 神池县| 广灵县| 浪卡子县| 东平县| 崇阳县| 洪江市| 赤壁市| 淄博市| 平潭县| 连江县| 哈密市| 富平县| 洪泽县| 克拉玛依市| 安徽省| SHOW| 江孜县| 霞浦县| 九寨沟县| 贺兰县| 山阴县| 桦川县| 罗田县| 彭州市|