none
Problemas para guardar una foto dentro de un archivo en c# webform RRS feed

  • Pregunta

  • Hola tengo este codigo

    Bitmap myBitmap = new Bitmap("hola.png");  
                
    
    string camino = Server.MapPath("~/foto1/hola.png");
                      
    
    myBitmap.Save(camino);
            
    Pero me sale este error si me pueden ayudar... OJO hola es una foto png

    Error de servidor en la aplicación '/'.

    El parámetro no es válido.

    Descripción: Excepción no controlada al ejecutar la solicitud Web actual. Revise el seguimiento de la pila para obtener más información acerca del error y dónde se originó en el código.

    Detalles de la excepción: System.ArgumentException: El parámetro no es válido.

    Error de código fuente:
    Línea 102:
    Línea 103:
    Línea 104:            Bitmap myBitmap = new Bitmap("hola.png");  
    Línea 105:            
    Línea 106:

    Archivo de origen: C:\Users\Administrador\Desktop\Ultima\MiSitio\MiSitio\uno.aspx.cs    Línea: 104

    Seguimiento de la pila:
    [ArgumentException: El parámetro no es válido.]
       System.Drawing.Bitmap..ctor(String filename) +475965
       MiSitio.uno.GuardarArchivo(HttpPostedFile file) in C:\Users\Administrador\Desktop\Ultima\MiSitio\MiSitio\uno.aspx.cs:104
       MiSitio.uno.Button1_Click(Object sender, EventArgs e) in C:\Users\Administrador\Desktop\Ultima\MiSitio\MiSitio\uno.aspx.cs:80
       System.Web.UI.WebControls.Button.OnClick(EventArgs e) +9782310
       System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +204
       System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +12
       System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +15
       System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +35
       System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1639

    viernes, 27 de diciembre de 2019 14:42

Todas las respuestas

  • No te da error al salvar. Te da error al construir el bitmap. Estás llamando a una sobrecarga del constructor que recibe como parámetro un string. Esa sobrecarga recibe en el string la ruta de un archivo existente, y construye el Bitmap a partir del contenido del archivo. Si realmente eso es lo que quieres hacer, entonces asegúrate de poner una ruta completa que lleve hasta el archivo (fíjate que solo has puesto el nombre de fichero y no la carpeta). Si, por el contrario, el archivo no existe, y quieres construir un bitmap con otra información distinta, entonces no uses el constructor que recibe un string. Decide con qué información vas a inicializar el Bitmap y usa un constructor que sea consistente con dicha información.
    viernes, 27 de diciembre de 2019 17:17
    Moderador
  • hola

    El codigo que nos muestras no tiene mucho sentido

    Si quieres obtener el bitmap de archivo deberias usar directo el constructor

    Bitmap(String)

    entonces quedaria

    string camino = Server.MapPath("~/foto1/hola.png");

    Bitmap myBitmap = new Bitmap(camino);    

    asi de simple, se supone que debes cargar un bitmap desde un archivo existente, sino no le des ningun nombre

    Bitmap myBitmap = new Bitmap();  
    string camino = Server.MapPath("~/foto1/hola.png");
                      
    myBitmap.Save(camino);

    el error indica que no le pasas una ruta de un archivo de imagen valido el cual cargar

                    

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    sábado, 28 de diciembre de 2019 0:44