javascript - Límite de tamaño para la carga de archivos
Investigo el problema de la carga de archivos usando html5, y tengo una pregunta teórica: ¿tiene html5 algún límite de tamaño de archivo para subir? Por ejemplo, ¿puedo subir archivos de tamaño ~500Gb?
P.D.: Uso la API FileReader para leer archivos.
Ok. Este problema está resuelto.
Pero como lo explica en la API FileReader:
Esta interfaz proporciona métodos para leer objetos File u objetos Blob en la memoria...
Si entendí correctamente, ¿no puedo leer un archivo cuyo tamaño sea mayor al de la RAM disponible?
Respuesta #1
No, no hay límite de tamaño para la carga.
Aquí está la especificación y aquí hay una pregunta relacionada sobre cómo comprobar el tamaño del archivo, para que puedas agregar límites si quieres.
Vale la pena señalar que si estás buscando almacenar el archivo en el servidor, podrías encontrarte con límites/restricciones de carga de archivos allí. Pero deberías poder configurarlos. Es decir, el límite de carga predeterminado de php/wordpress
Respuesta #2
Espero que esto sea útil..
Formulario, script para validar:
<form action="check.php" method="post" enctype="multipart/form-data">
<label>Upload An Image</label>
<input type="file" id="file_upload" name="file_upload" />
<input type="submit" onClick="return validate()" name="upload"/>
</form>
<script>
function validate(){
var size=2097152;
var file_size=document.getElementById('file_upload').files[0].size;
if(file_size>=size){
alert('File too large');
return false;
}
var type='image/jpeg';
var file_type=document.getElementById('file_upload').files[0].type;
if(file_type!=type){
alert('Format not supported,Only .jpeg images are accepted');
return false;
}
}
php para subir:
<?php
if(isset($_POST['upload'])){
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["file_upload"]["name"]);
if(move_uploaded_file($_FILES["file_upload"]["tmp_name"], $target_file)){
echo "The file ". basename( $_FILES["file_upload"]["name"]). " has been uploaded.";
}
else{
echo "sorry";
}
}
?>
