![]() |
Upload de archivos + mozilla firefox Hola a todos, he descubierto que el code que tengo para subir archivos al servidor no funciona cuando el cliente tiene como navegador firefox. Esto es por lo siguiente: tengo una variable sring la cual toma el path completo del archivo que va a subir el cliente de la siguiente forma: PathArchivo = file.PostedFile.FileName luego antes de subir el archivo valido que que este sea valido o exista: If System.IO.File.Exists(PathArchivo) Then 'aca el problem End If Con IE lo hace perfectamente, sin embargo con firefox siempre dice que el archivo no existe. Con IE el file.PostedFile.FileName te devuelve el path completo del archivo, sin embargo con firefox te devuelve solamente el nombre del archivo, por eso es que siempre dice que este no existe. Vaya problem que no se como solucionar. Probé con la propiedad value del input type = "file" pero es lo mismo, con IE te devuelve el path completo y con firefox solo el nombre del archivo. Saben como puedo solucionar esto? Otra cosa que he descubierto es lo siguiente: cuando deseo tomar el tipo de archivo que está subiendo el cliente, esto lo hago con file.PostedFile.ContentType, con IE una imagen con extención .jpg te devuelve image/pjpeg sin embargo con firefox te devuelve image/jpeg. mmm por qué sucede esto? me imagino tiene que ver con el tipo de contenido mime o algo así pero no sé exactamente que sucede. Saludos... |
Yo trabajo con el firefox y utilizo esto para subirlo al servidor y guardarlo en una carpeta: Function SaveFile() As Boolean If CheckFile() = True Then Dim Fname As String = System.IO.Path.GetFileName(file1.PostedFile.FileNa me) 'file1.PostedFile.SaveAs(Server.MapPath("Descarga\ " & Fname)) '// ruta relativa file1.PostedFile.SaveAs("C:\ivan\privados\archivos \" & Fname) '// ruta absoluta Return True Else Return False End If End Function ' para la extension tengo esto,aunq hasta ahora no he probao con imagenes: Function CheckFile() As Boolean If file1.PostedFile.ContentLength > 0 Then If Not (file1.PostedFile.ContentLength / 1000) > 1024 Then Dim FileExt As String FileExt = System.IO.Path.GetExtension(file1.PostedFile.FileN ame).ToLower If FileExt = ".doc" Or FileExt = ".txt" Or FileExt = ".pdf" Then lblerror.Text = "El fichero a sido enviado!!!" Return True Else lblerror.Text = "La extensión del fixhero no es corecta." Return False End If Else Dim SizeMBs As String SizeMBs = CStr(file1.PostedFile.ContentLength / (1024 * 1024)) SizeMBs = SizeMBs.Substring(0, SizeMBs.IndexOf(".") + 3) lblerror.Text = "El fichero es demasiado grande ! tu pudes enviar ficheros de 1 Mb como maximo, y el fichero actual tine un tamaño de " & SizeMBs & "MB" Return False End If Else lblerror.Text = "Fichero no Valido" return False End If End Function |
Gracias por el code neivan, cuando tenga algo de tiempo lo pruebo. Igual seguiré investigando porque mi code se comporta de cierta manera con firefox diferente a como lo hace con IE. Saludos... |
Cita:
Cita:
Cita:
No es problema de firefox o cualquier otro navegador en el que te devuelva sólo el nombre del archivo, esto es así por motivos de seguridad y por lo explicado anteriormente. Saludos |
Cita:
Cita:
nuevo. Saludos... |
| La zona horaria es GMT -6. Ahora son las 18:18. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.