Foros del Web » Programando para Internet » Javascript »

max_file_size

Estas en el tema de max_file_size en el foro de Javascript en Foros del Web. Tengo un formulario para la carga de archivos en el que he introducido una campo oculto para limitar el tamaño del los archivos a cargar: ...
  #1 (permalink)  
Antiguo 14/08/2006, 06:40
Avatar de tognaco  
Fecha de Ingreso: noviembre-2004
Mensajes: 147
Antigüedad: 19 años, 5 meses
Puntos: 1
max_file_size

Tengo un formulario para la carga de archivos en el que he introducido una campo oculto para limitar el tamaño del los archivos a cargar:


Código:
<form id="frmUpload" action="" target="frmUploadWorker" method="post" enctype="multipart/form-data" onSubmit="return OnSubmit();">
<input type="hidden" name="MAX_FILE_SIZE" value="256000">
Efectivamente el límite funciona, pero es que además necesito que si el usuario sube un archivo mayor a los 256 KB el programa le avise. Para gestionar la carga tengo una función javascript:

Código:
function OnSubmit()
{
	if ( document.getElementById('NewFile').value.length == 0 )
	{
		alert( 'Please select a file from your computer' ) ;
		return false ;
	}
	
	if ( document.getElementById('NewFile').value.length > 256000 )
	{
		alert( 'Tas pasao tela' ) ;
		return false ;
	}

	// Set the interface elements.
	document.getElementById('eUploadMessage').innerHTML = 'Upload a new file in this folder (Upload in progress, please wait...)' ;
	document.getElementById('btnUpload').disabled = true ;
	
	return true ;
}
El caso es que actualmente el archivo mayor a 256 KB no se carga, pero no da mensaje de error. Me imagino que habría que añadirle algo a la función, porque lo que yo le he puesto no funciona ¿Me podéis sugerir algo?

Gracias anticipadas.
  #2 (permalink)  
Antiguo 14/08/2006, 07:50
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 1 mes
Puntos: 1284
Hola:

Ese límite podrá funcionar en el servidor, pero en el cliente no se puede hacer de forma estándar, ya que javascript no debería tener nada que ver con el sistema por razones de seguridad... aunque explorer tiene la función filesize

value.length es el tamaño de la cadena del value y no tienen nada que ver con tamaños de ficheros.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 14/08/2006, 11:33
Avatar de tognaco  
Fecha de Ingreso: noviembre-2004
Mensajes: 147
Antigüedad: 19 años, 5 meses
Puntos: 1
Si, llevas razón. De todos modos, se me olvidó decir que hay también una función que muestra los errores que se producen en el proceso de carga:

Código:
function OnUploadCompleted( errorNumber, data )
{
	// Reset the Upload Worker Frame.
	window.parent.frames['frmUploadWorker'].location = '../../../fckblank.html' ;
	
	// Reset the upload form (On IE we must do a little trick to avout problems).
	if ( document.all )
		document.getElementById('NewFile').outerHTML = '<input id="NewFile" name="NewFile" style="WIDTH: 100%" type="file">' ;
	else
		document.getElementById('frmUpload').reset() ;
	
	// Reset the interface elements.
	document.getElementById('eUploadMessage').innerHTML = 'Upload a new file in this folder' ;
	document.getElementById('btnUpload').disabled = false ;
	
	switch ( errorNumber )
	{
		case 0 :
			window.parent.frames['frmResourcesList'].Refresh() ;
			break ;
		case 1 :	// Custom error.
			alert( data ) ;
			break ;
		case 201 :
			window.parent.frames['frmResourcesList'].Refresh() ;
			alert( 'A file with the same name is already available. The uploaded file has been renamed to "' + data + '"' ) ;
			break ;
		case 202 :
			alert( 'Invalid file' ) ;
			break ;
		default :
			alert( 'Error on file upload. Error number: ' + errorNumber ) ;
			break ;
	}
}
Debería mostrar un error ¿no? O quizás se le pueda añadir algo al switch para que lo muestre ¿alguna idea?
  #4 (permalink)  
Antiguo 14/08/2006, 11:51
Avatar de tognaco  
Fecha de Ingreso: noviembre-2004
Mensajes: 147
Antigüedad: 19 años, 5 meses
Puntos: 1
Ok, ya lo he resuelto yo. Había que añadir otro caso al switch y definir el error en el archivo PHP que gestiona la carga de archivos.

Gracias de todos modos.
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 04:31.