title: GDI+ Generic Error ASP.NET MVC
body: <p>I am having a GDI+ generic error I've tried what everyone says which is make sure that the folder containing the image file that is being read in like so</p>
  
  <pre><code>  public ImageResult ProfileAsset(string profile, int width, int height) {
              PhotoDB imgstr = new PhotoDB();
  
              Image FullsizeImage = Image.FromFile(
                  imgstr.getFilePath(profile, false, PhotoDB.PhotoSize.None)
                  );
  
  
              Image cropedImage = imgstr.Crop(FullsizeImage, width, width, PhotoDB.AnchorPosition.Center);
              return new ImageResult { Image = cropedImage, ImageFormat = ImageFormat.Png };
          }
  </code></pre>
  
  <p>I have set the permissions on that folder to everyone but still get this error?</p>
  
  <p>Any ideas why?</p>
  
  <blockquote>
    <p>A generic error occurred in GDI+. 
    Description: An unhandled exception
    occurred during the execution of the
    current web request. Please review the
    stack trace for more information about
    the error and where it originated in
    the code. </p>
    
    <p>Exception Details:
    System.Runtime.InteropServices.ExternalException:
    A generic error occurred in GDI+.</p>
    
    <p>Source Error: </p>
    
    <p>An unhandled exception was generated
    during the execution of the current
    web request. Information regarding the
    origin and location of the exception
    can be identified using the exception
    stack trace below.  </p>
    
    <p>Stack Trace: </p>
    
    <p>[ExternalException (0x80004005): A
    generic error occurred in GDI+.]<br>
    System.Drawing.Image.Save(Stream
    stream, ImageCodecInfo encoder,
    EncoderParameters encoderParams)
    +378002    System.Drawing.Image.Save(Stream
    stream, ImageFormat format) +36<br>
    Havana.ImageResult.ExecuteResult(ControllerContext
    context) in C:\DropBox\My
    Dropbox\Havana\Havana.MVC\Infrastructure\ImageResult.cs:44
    System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext
    controllerContext, ActionResult
    actionResult) +10<br>
    System.Web.Mvc.&lt;>c__DisplayClass11.b__e()
    +20    System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter
    filter, ResultExecutingContext
    preContext, Func<code>1 continuation) +251 
    System.Web.Mvc.&lt;&gt;c__DisplayClass13.&lt;InvokeActionResultWithFilters&gt;b__10()
    +19    System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext
    controllerContext, IList</code>1 filters,
    ActionResult actionResult) +178<br>
    System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext
    controllerContext, String actionName)
    +399    System.Web.Mvc.Controller.ExecuteCore()
    +126    System.Web.Mvc.ControllerBase.Execute(RequestContext
    requestContext) +27<br>
    System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute(RequestContext
    requestContext) +7<br>
    System.Web.Mvc.MvcHandler.ProcessRequest(HttpContextBase
    httpContext) +151<br>
    System.Web.Mvc.MvcHandler.ProcessRequest(HttpContext
    httpContext) +57<br>
    System.Web.Mvc.MvcHandler.System.Web.IHttpHandler.ProcessRequest(HttpContext
    httpContext) +7<br>
    System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
    +181    System.Web.HttpApplication.ExecuteStep(IExecutionStep
    step, Boolean&amp; completedSynchronously)
    +75</p>
  </blockquote>