¿Cómo seleccionar múltiples archivos con <input type="file">
?¿Cómo seleccionar múltiples archivos con <input type = "file">?
Respuesta
Nueva respuesta:
En HTML5 se puede añadir el atributo multiple
para seleccionar más de 1 archivo.
<input type="file" name="filefield" multiple="multiple">
vieja respuesta:
Sólo se puede seleccionar 1 archivo por
<input type="file" />
. Si desea enviar múltiples archivos, tendrá que usar varias etiquetas de entrada o usar Flash o Silverlight.
También existe HTML5 <input type="file" multiple />
pero no sé qué tan ampliamente admitido es.
No compatible con IE9 y anteriores :( –
Este plugin jQuery (jQuery File Upload Demo) lo hace sin flash, en la forma que está usando:
<input type='file' name='files[]' multiple />
tampoco es compatible con IE9-, https://github.com/blueimp/jQuery-File-Upload/wiki/Browser-support#multiple-file-selection – JerryDDG
Todo esto debe verse como:
<form enctype='multipart/form-data' method='POST' action='submitFormTo.php'>
<input type='file' name='files[]' multiple />
<button type='submit'>Submit</button>
</form>
Asegúrese de que tiene el atributo enctype='multipart/form-data'
en su etiqueta <form>
, o no puede leer los archivos en el servidor después del envío!
Puede hacerlo ahora con HTML5
En esencia se utiliza el atributo múltiple en el archivo de entrada.
<input type='file' multiple>
HTML5 ha proporcionado un nuevo atributo múltiple para el elemento de entrada cuyo tipo de atributo es el archivo. Para que pueda seleccionar varios archivos e IE9 y las versiones anteriores no son compatibles.
NOTA: tenga cuidado con el nombre del elemento de entrada. cuando desee cargar varios archivos, debe usar una matriz y no una cadena como el valor del atributo de nombre .
ejemplo: input type = "file" name = "MyPhotos []" múltiple = "múltiple"
y si está utilizando php por lo que recibirá los datos en $ _FILES y uso var_dump ($ _ FILES) y ver la salida y hacer el proceso Ahora se puede repetir una y el resto
<form action="" method="post" enctype="multipart/form-data">
<input type="file" multiple name="img[]"/>
<input type="submit">
</form>
<?php
print_r($_FILES['img']['name']);
?>
Copia y pega esto en tu html:
<input type="file" id="files" name="files[]" multiple />
<output id="list"></output>
<script>
function handleFileSelect(evt) {
var files = evt.target.files; // FileList object
// files is a FileList of File objects. List some properties.
var output = [];
for (var i = 0, f; f = files[i]; i++) {
output.push('<li><strong>', escape(f.name), '</strong> (', f.type || 'n/a', ') - ',
f.size, ' bytes, last modified: ',
f.lastModifiedDate ? f.lastModifiedDate.toLocaleDateString() : 'n/a',
'</li>');
}
document.getElementById('list').innerHTML = '<ul>' + output.join('') + '</ul>';
}
Esto viene a usted, a través de mí, desde esta página web: http://www.html5rocks.com/en/tutorials/file/dndfiles/
Eso es fácil ...
<input type='file' multiple>
$('#file').on('change',function(){
_readFileDataUrl(this,function(err,files){
if(err){return}
console.log(files)//contains base64 encoded string array holding the
image data
});
});
var _readFileDataUrl=function(input,callback){
var len=input.files.length,_files=[],res=[];
var readFile=function(filePos){
if(!filePos){
callback(false,res);
}else{
var reader=new FileReader();
reader.onload=function(e){
res.push(e.target.result);
readFile(_files.shift());
};
reader.readAsDataURL(filePos);
}
};
for(var x=0;x<len;x++){
_files.push(input.files[x]);
}
readFile(_files.shift());
};
Esto ya está respondido claramente. ¿Cuál es la necesidad de agregar un javascript? ¿ejemplo? – RightHandedMonkey
- 1. Leyendo archivos locales con <input type = "file">?
- 2. Cómo restringir <input type = "file"> para que solo pueda seleccionar archivos .pdf?
- 3. Comprensión <input type = "file">
- 4. modelo de caja inconsistente entre <input type = "submit" /> y <type = "text" input />
- 5. Diferencia entre <input type = 'button' /> y <input type = 'submit' />
- 6. Selector CSS para <input type = "?"
- 7. Cómo estilo <input type = "text"> en IE6 CSS?
- 8. ¿Cómo puedo agregar relleno a <input type = "button">?
- 9. <input type = "file"> límite de archivos seleccionables por extensiones
- 10. HTML <input type = 'archivo'> aplicar un filtro
- 11. Cómo crear <input type = "text" /> dinámicamente
- 12. ¿Cómo hacer que <input type = "file" /> editable?
- 13. Cómo publicar múltiples <input type = "checkbox" /> como array en PHP?
- 14. ¿Puede EditorFor() usarse para crear <input type = "file">?
- 15. Html helper for <input type = "file" />
- 16. detectar si <input type = "archivo" /> se apoya
- 17. Cómo permitir que <input type = "file"> acepte solo archivos de imagen
- 18. HTML <input type = 'archivo'> Selección archivo de eventos
- 19. ¿Podemos cambiar <input type = "file"> style?
- 20. ¿Está bien usar <input type = "tel" /> ahora?
- 21. Relleno adicional en <input type = "text">
- 22. Problema con <input type = 'text' /> y <textarea> width
- 23. <input type = "file"> - custom styles/css
- 24. jQuery set <input type = "range"> value
- 25. Poner en valor por defecto <input type = archivo ....>
- 26. input type = "submit" en lugar de input type = "button" con AJAX?
- 27. múltiples archivos de seleccionar y cargar
- 28. Cómo seleccionar <input> que no tiene un "tipo" con CSS
- 29. ¿Cómo puedo saber si un navegador es compatible con <input type = 'fecha'>
- 30. cómo ocultar la ubicación del archivo en <input type = 'file'>?
Se trata de JavaScript y HTML – Mask
¿Quiere decir que cargar varios archivos de una sola vez (cuando se selecciona uno a la vez y luego haga clic en subir)? ¿O quiere decir usar ctrl + clic para seleccionar varios archivos en una ventana del navegador? – cletus
Puede hacerlo con HTML5 utilizando el atributo múltiple en el elemento de entrada. He aquí un gran violín que lo utiliza: http://jsfiddle.net/0GiS0/Yvgc2/ – Costa