Foros del Web » Programando para Internet » ASPX (.net) »

Problema al subir imagen

Estas en el tema de Problema al subir imagen en el foro de ASPX (.net) en Foros del Web. Hola tengo un problema al subir una imagen... No me guarda nada en la propiedad Postedfile viene como nothing aca esta el codigo de cada ...
  #1 (permalink)  
Antiguo 28/03/2008, 08:26
 
Fecha de Ingreso: febrero-2008
Mensajes: 42
Antigüedad: 16 años, 2 meses
Puntos: 0
Problema al subir imagen

Hola tengo un problema al subir una imagen...

No me guarda nada en la propiedad Postedfile viene como nothing

aca esta el codigo de cada una de las partes con las que trabajo para subir la imagen a sql..


primero este es el codigo html de donde tengo el asp:fileupload.
si se pueden fijar esta con ajax portanto tiene etiquetas asp:updatePanel

si pueden ver hay un textbox y un imageButton (se preguntaran q hacen ahi) el file upload lo oculte y le di el minimo de tamaño con la etiqueta style en el div(rojo)
agrege metodos q haran un trabajito en el servidor.... por ahora vean esto.

Código:
<asp:UpdatePanel ID="paneltxtimage" runat="server">
                        <ContentTemplate>                       
                    <asp:TextBox ID="txtImage" Width="127px" onchange="asignar()" runat="server" CssClass="campo1" ></asp:TextBox>                           
                            <div style="visibility:hidden; z-index:-1; position:absolute;" >
                            <asp:FileUpload  ID="FileUpload1" Width="0px" Height="0px" runat="server" onchange="asignar()"   />                            
                            </div>
                        </ContentTemplate>
                    </asp:UpdatePanel>

Aca esta el codigo q realizan las funciones onchange .....
las explico abrir() la ocupa el imagebutton si lo ven arriba lo ke hace es ejecutar el evento click del fileupload asi se abre la ventana y el asignar() es para asignar el texto del file upload al textbox asi el cliente tiene un diseño mejor.

Código:
function abrir()
{
    document.getElementById("FileUpload1").click();
} 
function asignar()
{
   document.getElementById("txtImage").value = document.getElementById('FileUpload1').value;
}


posterior mente el codigo (funcion)


aca asigno la propiedad postedfile del fileupload a un httppostedfile(verde) y asi hacer todo lo nesesario para tener un arreglo de byte y guardarlo en la bd
el unico problema es que el postedfile viene vacio aunque elija cualquier archivo
y ese es el unico error porque si sefijan hay una condicion q si el texto viene vacio es decir si no seleccione imagen tomo una imagen del servidor por defecto y la guardo y eso si lo hace... si alguien puede ayudarme se lo agradeceria mucho ........


Código:
Public Function GetBitImg(ByVal img As FileUpload, ByVal txt As TextBox, ByVal rutadefault As String) As Byte()
        If txt.Text = "" Then
            rutadefault = rutadefault & "\App_Themes\imagenes\gris2.gif"
            Dim stream As New FileStream(rutadefault, FileMode.Open)
            Dim reader As New BinaryReader(stream)
            Dim file() As Byte = reader.ReadBytes(stream.Length)
            reader.Close()
            Return file
        Else          
            Dim httpimg As HttpPostedFile = img.PostedFile
            If Not httpimg.ContentType = "image/jpeg" Or httpimg.ContentType = "image/gif" Then
                rutadefault = rutadefault & "\App_Themes\imagenes\gris2.gif"
                Dim stream As New FileStream(rutadefault, FileMode.Open)
                Dim reader As New BinaryReader(stream)
                Dim file() As Byte = reader.ReadBytes(stream.Length)
                reader.Close()
                Return file
            Else
                Dim bit(img.PostedFile.InputStream.Length + 1) As Byte
                httpimg.InputStream.Read(bit, 0, img.PostedFile.ContentLength)
                Return bit
            End If
        End If
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:48.