A generic error occurred in GDI+. 上傳圖片報錯


代碼就不說了,因為本地測試 ok,

服務端 就不行 ,服務器 環境 阿里雲 win2008 r2  64 位

原因 是我沒有這是 文件加權限 :

左邊 的 少了 權限~

代碼 :含義是 網絡圖片 裁剪 保存 到本地 ,本地 再 存儲 到 七牛 雲存儲。

  public static string Crop(string ImgUrl, int Width, int Height, int X, int Y)
    {
      string path = "C:\\DescripttionImg\\";
      string Temp = "";
      string path_Temp = "";
      try
      {

        if (ImgUrl.IndexOf('?') > 0)
        {
          Temp = ImgUrl.Remove(ImgUrl.IndexOf('?'));
          Temp = "Head_" + Temp.Substring(Temp.LastIndexOf('/') + 1);
        }
        else
        {
          Temp = "Head_" + ImgUrl.Substring(ImgUrl.LastIndexOf('/') + 1);
        }


        WebRequest WebReq = WebRequest.Create(ImgUrl);
        WebReq.Method = "GET";
        var img = System.Drawing.Image.FromStream(WebReq.GetResponse().GetResponseStream());
        using (System.Drawing.Image OriginalImage = img)
        {
          using (Bitmap bmp = new Bitmap(Width, Height))
          {
            bmp.SetResolution(OriginalImage.HorizontalResolution, OriginalImage.VerticalResolution);
            using (Graphics Graphic = Graphics.FromImage(bmp))
            {
              Graphic.SmoothingMode = SmoothingMode.AntiAlias;
              Graphic.InterpolationMode = InterpolationMode.HighQualityBicubic;
              Graphic.PixelOffsetMode = PixelOffsetMode.HighQuality;
              Graphic.DrawImage(OriginalImage, new Rectangle(0, 0, Width, Height), X, Y, Width, Height, GraphicsUnit.Pixel);
              //MemoryStream ms = new MemoryStream();
              path_Temp = path + Temp;
              bmp.Save(path_Temp);
              WebReq.Abort();
              //return ms.GetBuffer();
            }
          }
        }
        Qiniu_API.PutFile(path_Temp, Temp);
        return string.Format("http://{0}/{1}", Qiniu_API.Domain, Temp);
        // 
      }

      catch (Exception ex)
      {
        KT_Product_ShowEntities tempconn = new KT_Product_ShowEntities();

        tempconn.Err_Log.Add(new Err_Log()
        {
          CreateTime = DateTime.Now,
          form_no = "",
          Msg = ex.Message,
          StackTrace = ex.StackTrace,
          sys_user = "",
          TargetSite = ex.TargetSite.ToString(),
          UserName = "mail"
        });
        tempconn.SaveChanges();

        throw (ex);
      }
      finally
      {

      }
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM