2012-06-23 18 views
5

¿Es posible eliminar archivos individuales de la lista de archivos que se cargarán cuando el usuario puede seleccionar varios archivos? Por ejemplo, tengo una entrada que parece algo así como que:Eliminar archivos individuales cuando se seleccionan varios archivos con la entrada de archivo

<input type = 'file' name = 'file' id = 'file' multiple = 'multiple' /> 

y el usuario selecciona 4 fotos, 1.jpg, 2.jpg, 3.jpg 4.jpg y. ¿Es posible eliminar 4.jpg, porque el usuario cambió de opinión y no quiere subir ese?

+0

Usted está hablando de usar Javascript, ¿verdad? Debería etiquetarlo así si ese es el caso (y de otro modo no sé de otra manera de manejarlo). –

+0

Disculpa, ¿para qué acción del usuario eliminar exactamente? Si vuelve a hacer clic en ese control de entrada, puede elegir nuevamente la lista de archivos. – raina77ow

+0

Tenga en cuenta que los navegadores suelen ser muy restrictivos con respecto a lo que JavaScript puede cambiar realmente en el valor de control 'input = file'. – raina77ow

Respuesta

1

La respuesta breve sería simplemente 'No'. It's not possible para cambiar el valor del elemento file input de un script: de lo contrario, sería un tamaño de agujero de seguridad de un mamut. Y déjame asegurarte: algunos navegadores (es decir, ¡eso se trata de ti!) Se vuelven MUY exigentes cuando se trata de entradas de archivos.

Pero puede usar el siguiente enfoque: permita a los usuarios cargar tantos archivos como usted y ellos quieran (aunque es prudente establecer algunos límites), pero póngalos en algún almacenamiento temporal. Solo cuando los usuarios realmente expresen su deseo de guardar la entidad a la que están adjuntos estos archivos, mueva estos archivos a un estado permanente.

O tal vez sea hora de pensar en utilizar algunos mecanismos de reserva, Flash o algo así. De hecho, hay otra razón para hacerlo: IE8 no admite el atributo multiple en el selector de archivos.

Cuestiones relacionadas