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)

          隨筆分類

          隨筆檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 务川| 论坛| 岑溪市| 广东省| 广元市| 那坡县| 沙坪坝区| 常州市| 武威市| 安乡县| 千阳县| 满洲里市| 兖州市| 准格尔旗| 福安市| 长垣县| 会泽县| 武清区| 阿合奇县| 安图县| 临城县| 克拉玛依市| 唐河县| 长汀县| 长治县| 康乐县| 黄冈市| 鄱阳县| 西乌珠穆沁旗| 通榆县| 阿合奇县| 安岳县| 于都县| 岳普湖县| 中卫市| 全椒县| 武胜县| 西盟| 商城县| 宾川县| 乡宁县|