Estos días podemos drag & drop de archivos en un recipiente especial y subirlos con XHR 2. Muchos a un tiempo. Vivo con barras de progreso, etc. Muy interesante todo esto. Ejemplo aquí.

Pero a veces no queremos que mucho frío. Lo que me gustaría es drag & drop de archivos — muchos a un tiempo — en un estándar de HTML archivo de entrada: <input type=file multiple>.

Es eso posible? ¿Hay alguna forma de ‘relleno’ el archivo de entrada con el derecho de los nombres de archivo (?) desde el archivo de la gota? (Total rutas de los archivos no están disponibles para el sistema de archivos por razones de seguridad.)

¿Por qué? Porque me gustaría presentar un formulario normal. Para todos los navegadores y todos los dispositivos. El drag & drop es sólo mejora progresiva para mejorar la & simplificar la experiencia de usuario. La forma estándar con el archivo estándar de entrada (+ multiple atributo) estará allí. Me gustaría añadir el HTML5 mejora.

editar

Sé que en algunos de los navegadores puede a veces (casi siempre) soltar los archivos en el archivo de entrada en sí. Sé de Cromo generalmente se hace esto, pero a veces falla y, a continuación, carga el archivo en la página actual (un gran error si usted está llenando un formulario). Quiero tonto- & browserproof ella.

  • Preparar un poco de dolor si desea incluir mac/safari en sus compatibilidades.
  • en realidad Safari/Mac es uno de los pocos navegadores ya que apoyen esto.
  • En realidad, ninguno de los navegadores soportan este. El campo de entrada de archivo es de sólo lectura (por seguridad) y ese es el problema. Seguridad estúpido!
  • Me refería a «drag & drop de archivos — muchos a un tiempo, en un estándar de HTML archivo de entrada».
  • arrastrar/soltar múltiples archivos a input type="file" multiple funciona bien en Safari
  • Firefox (20.0.1 en Windows, al menos) te permite arrastrar un archivo en un archivo de entrada de control.
  • El bien de los navegadores, pero ese no es el problema.

InformationsquelleAutor Rudie | 2011-11-04

12 Comentarios

  1. 46

    He hecho una solución para esto.

    JS:

    $(function () {
    var dropZoneId = "drop-zone";
    var buttonId = "clickHere";
    var mouseOverClass = "mouse-over";
    var dropZone = $("#" + dropZoneId);
    var ooleft = dropZone.offset().left;
    var ooright = dropZone.outerWidth() + ooleft;
    var ootop = dropZone.offset().top;
    var oobottom = dropZone.outerHeight() + ootop;
    var inputFile = dropZone.find("input");
    document.getElementById(dropZoneId).addEventListener("dragover", function (e) {
    e.preventDefault();
    e.stopPropagation();
    dropZone.addClass(mouseOverClass);
    var x = e.pageX;
    var y = e.pageY;
    if (!(x < ooleft || x > ooright || y < ootop || y > oobottom)) {
    inputFile.offset({ top: y - 15, left: x - 100 });
    } else {
    inputFile.offset({ top: -400, left: -400 });
    }
    }, true);
    if (buttonId != "") {
    var clickZone = $("#" + buttonId);
    var oleft = clickZone.offset().left;
    var oright = clickZone.outerWidth() + oleft;
    var otop = clickZone.offset().top;
    var obottom = clickZone.outerHeight() + otop;
    $("#" + buttonId).mousemove(function (e) {
    var x = e.pageX;
    var y = e.pageY;
    if (!(x < oleft || x > oright || y < otop || y > obottom)) {
    inputFile.offset({ top: y - 15, left: x - 160 });
    } else {
    inputFile.offset({ top: -400, left: -400 });
    }
    });
    }
    document.getElementById(dropZoneId).addEventListener("drop", function (e) {
    $("#" + dropZoneId).removeClass(mouseOverClass);
    }, true);
    })

    CSS:

    #drop-zone {
    /*Sort of important*/
    width: 300px;
    /*Sort of important*/
    height: 200px;
    position:absolute;
    left:50%;
    top:100px;
    margin-left:-150px;
    border: 2px dashed rgba(0,0,0,.3);
    border-radius: 20px;
    font-family: Arial;
    text-align: center;
    position: relative;
    line-height: 180px;
    font-size: 20px;
    color: rgba(0,0,0,.3);
    }
    #drop-zone input {
    /*Important*/
    position: absolute;
    /*Important*/
    cursor: pointer;
    left: 0px;
    top: 0px;
    /*Important This is only comment out for demonstration purposes.
    opacity:0; */
    }
    /*Important*/
    #drop-zone.mouse-over {
    border: 2px dashed rgba(0,0,0,.5);
    color: rgba(0,0,0,.5);
    }
    /*If you dont want the button*/
    #clickHere {
    position: absolute;
    cursor: pointer;
    left: 50%;
    top: 50%;
    margin-left: -50px;
    margin-top: 20px;
    line-height: 26px;
    color: white;
    font-size: 12px;
    width: 100px;
    height: 26px;
    border-radius: 4px;
    background-color: #3b85c3;
    }
    #clickHere:hover {
    background-color: #4499DD;
    }

    HTML:

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <div id="drop-zone">
    Drop files here...
    <div id="clickHere">
    or click here..
    <input type="file" name="file" id="file" />
    </div>
    </div>

    La funcionalidad de Arrastrar y Soltar para que este método sólo funciona con Chrome, Firefox y Safari.
    (No sé si funciona con IE10), pero para otros navegadores, la «O haga clic aquí» botón funciona bien.

    El campo de entrada simplemente siga el ratón al arrastrar un archivo a través de un área, y he añadido un botón así..

    Elimine opacity:0; el archivo de entrada es sólo visible para que pueda ver lo que está pasando.

    • Por eso he añadido un botón así^^ Pero yah su’e derecho. Yo wouln’t utilizar escena… O sería yo !?
    • Me gustaría saber cómo se supone que funciona… parece que todo el arrastrar/soltar funciones tienen que lidiar con la adición del efecto de hover… pero yo realmente no puede decir. Se ve bien en el violín, pero no creo que la voy a usar ya que necesito el apoyo de Internet Explorer
    • retirada de este hilo, usted podría encontrar otra solución no hay. » stackoverflow.com/questions/1537223/…
    • Realmente me gusta. Y se podría trabajar para varios archivos demasiado, porque JS podría hacer cualquier entrada de ‘volar’ y mantener a los demás, y agregar dinámicamente más.
    • hice este trabajo en IE para usted?
    • ¿no sería más fácil para agregar click escucha a #clickHere y sólo .click() archivo oculto de la entrada? Quiero decir, un poco más corto y más legible el código de la OMI.
    • Creo que podría desencadenar una llamada recursiva hasta que la llamada desbordamientos de pila
    • estás en lo correcto. Mi navegador se encarga de este bien (se detiene después de la segunda .click() porque la ventana de selección de archivo ya está abierto), pero usted puede agregar click escucha de archivos de entrada y e.stopPropagation() debe hacer el truco.
    • Terminé usando el estilo solo. Haciendo la entrada del 100% de la anchura y la altura funcionado mejor que movernos.
    • Para la adición y eliminación de mouse-over de la clase de la zona de colocación sería mejor utilizar dragenter y dragleave eventos.
    • Es allí una manera de deshacerse de los «no elegidos» que mantiene flotando junto con nuestro puntero del ratón? @BjarkeCK

  2. 46

    Las siguientes obras en Chrome y FF, pero aún tengo que encontrar una solución que cubre el IE10+ así:

    JS:

    //dragover and dragenter events need to have 'preventDefault' called
    //in order for the 'drop' event to register. 
    //See: https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Drag_operations#droptargets
    dropContainer.ondragover = dropContainer.ondragenter = function(evt) {
    evt.preventDefault();
    };
    dropContainer.ondrop = function(evt) {
    //pretty simple -- but not for IE :(
    fileInput.files = evt.dataTransfer.files;
    evt.preventDefault();
    };

    HTML:

    <!DOCTYPE html>
    <html>
    <body>
    <div id="dropContainer" style="border:1px solid black;height:100px;">
    Drop Here
    </div>
    Should update here:
    <input type="file" id="fileInput" />
    </body>
    </html>

    Usted probablemente quiera usar addEventListener o jQuery (etc.) para registrar su evt controladores – esto es sólo para ser breves.

    • Waaaaaaaat! Que funciona!? Que la exactamente lo que yo estaba buscando. No trabajo hace 2 años. Impresionante! Por supuesto que no funciona en IE =) La pregunta importante: ¿hay fiable detección de características?, así que usted puede ocultar la dropzone en IE, bc no va a funcionar.
    • D’oh, un poco tarde 🙂 ahora mismo estoy utilizando solo la simple agente de usuario de cheques en JS. Por supuesto, usted tiene que probar la MSIE , Trident/ (IE11) y Edge/ (IE12)…
    • FF 48.0.2 (Mac) lanza «TypeError: la configuración de una propiedad que tiene solo un getter» en la línea fileInput.files = evt.dataTransfer.files;. Safari y Chrome sin embargo, ambos funcionan bien.
    • Este ejemplo no funciona en firefox 45 en linux, pero a mí me funciona en chrome. No tengo ninguna consola de errores, simplemente no muestra que cualquier archivo se ha caído.
    • Acabo de pasar horas tratando de conseguir dropzone js para trabajar en un formulario existente. Copiado y pegado respuesta simple y funciona como se esperaba de inmediato. Gracias! Pregunto si tiene usted alguna idea de cómo hacer para que usted puede arrastrar y haga clic en varios archivos por separado y todavía mantener los archivos anteriores? Me refiero a si arrastra un archivo y, a continuación, arrastre otro, se borra el primero. Sería perfecto si se pudiera seguir sumando.
    • lamentablemente eso no es posible con-lo siento 🙁
    • de hecho hice un post para intentar buscar una solución, pero pensé para mí mismo. Bastante simple cambio, sólo fileInputs[índice] = … para pasar el archivo de datos a una entrada en particular y, a continuación, llamar a una función showNext para agregar una nueva entrada de stackoverflow.com/a/43397640/6392779
    • wow me sorprende que funciona — bueno!
    • Linux / Chrome Versión 59.0.3071.115 (Oficial Construir) (64-bit) – Obras! Linux / FF 54.0-no Hace nada.
    • He tenido que aplicar evt.preventDefault(); e.stopPropagation() a todos de los siguientes para hacer este trabajo: drag dragstart dragend dragover dragenter dragleave drop
    • Esta solución no desencadenar la change evento en la entrada en Firefox, así que hay que activar manualmente es: fileInput.dispatchEvent(new Event('change')). Tengo FF 58.
    • La mejor solución, grandes aplausos 👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏

  3. 26

    Este es el «DTHML» HTML5 manera de hacerlo. Forma Normal de entrada (que ES de sólo lectura como Ricardo Tomasi señalado). Entonces, si se arrastra un archivo en, se adjunta el formulario. Esto requerirá de la modificación a la acción de la página para aceptar el archivo se ha subido esta manera.

    JS:

    function readfiles(files) {
    for (var i = 0; i < files.length; i++) {
    document.getElementById('fileDragName').value = files[i].name
    document.getElementById('fileDragSize').value = files[i].size
    document.getElementById('fileDragType').value = files[i].type
    reader = new FileReader();
    reader.onload = function(event) {
    document.getElementById('fileDragData').value = event.target.result;}
    reader.readAsDataURL(files[i]);
    }
    }
    var holder = document.getElementById('holder');
    holder.ondragover = function () { this.className = 'hover'; return false; };
    holder.ondragend = function () { this.className = ''; return false; };
    holder.ondrop = function (e) {
    this.className = '';
    e.preventDefault();
    readfiles(e.dataTransfer.files);
    }

    CSS:

    #holder.hover { border: 10px dashed #0c0 !important; }

    HTML:

    <form method="post" action="http://example.com/">
    <input type="file"><input id="fileDragName"><input id="fileDragSize"><input id="fileDragType"><input id="fileDragData">
    <div id="holder" style="width:200px; height:200px; border: 10px dashed #ccc"></div>
    </form>

    Es aún más jefe si usted puede hacer que la ventana de la zona de caída, ver ¿Cómo puedo detectar un HTML5 evento de arrastre de entrar y salir de la ventana, como Gmail?

    • Buena solución, sin embargo, no funciona en IE, < 10 porque IE 9 y menos no soporta HTML5 archivos de la API 🙁
    • Esto no lo hace una verdadera subida de archivos…
    • Esta línea: documento.getElementById(‘fileDragData’).valor = archivos[i].slice(); no es necesario, porque es sustituida en el lector.la función onload
    • Aquí es otro lindo arrastrar y soltar aplicaciones que NO implica que la carga de archivos. La vinculación sólo en caso de que alguien quiere estudiar más. codepen.io/anon/pen/MOPvZK?los editores=1010
    • La IE 10 solución es degradar y mostrar solo las input type=file
    • Me estoy perdiendo algo, o sólo constantemente sobrescribir el .value de la propiedad con el archivo más reciente, cada vez que iterar a través de la palestra bucle?
    • Me pasé dos horas preguntando por qué onload nunca disparó. Es porque usted lo hace: «lector.readAsDataURL(archivo[i]);» después de que el evento onload en lugar de dentro de ella. Como yo no entendía cómo funcionaba todo esto y escribió el código para yo poner su llave después de que readAs línea en lugar de antes, lo que provocó el problema. Todo por no poner su rizado corchete de cierre en un lugar agradable. Dé formato a tu código javascript bellamente en lugar de sucintamente.

  4. 8

    JS:

    //----------App.js---------------------//
    $(document).ready(function() {
    var holder = document.getElementById('holder');
    holder.ondragover = function () { this.className = 'hover'; return false; };
    holder.ondrop = function (e) {
    this.className = 'hidden';
    e.preventDefault();
    var file = e.dataTransfer.files[0];
    var reader = new FileReader();
    reader.onload = function (event) {
    document.getElementById('image_droped').className='visible'
    $('#image_droped').attr('src', event.target.result);
    }
    reader.readAsDataURL(file);
    };
    });

    CSS:

    .holder_default {
    width:500px; 
    height:180px; 
    border: 10px dashed #ccc;
    }
    #holder.hover { 
    width:400px; 
    height:180px; 
    border: 10px dashed #0c0 !important; 
    }
    .hidden {
    visibility: hidden;
    }
    .visible {
    visibility: visible;
    }

    HTML:

    <!DOCTYPE html>
    <html>
    <head>
    <title> HTML 5 </title>
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.js"></script>
    </head>
    <body>
    <form method="post" action="http://example.com/">
    <div id="holder" style="" id="holder" class="holder_default">
    <img src="" id="image_droped" width="500" height="180" style="width:500px; height:180px; border: 10px dashed #7A97FC;" class=" hidden"/>
    </div>
    </form>
    </body>
    </html>

    • Lo que hace es mostrar al usuario? Se puede hacer de un violín o de ejemplo en línea?
    • por favor, haga clic en ejecutar fragmento de código y arrastrar-n-gota de una imagen a la vista, se mostrará la vista previa de la imagen caído.
    • +1 para limpiamente demostrando FileReader realidad de la lectura en el archivo. Es bastante trivial para la actualización de este código para manejar la carga de la gota demasiado (que es mi propia caso de uso)
  5. 6

    En teoría, se podría añadir un elemento de superposición de la <input/> y, a continuación, utilizar la drop evento para la captura de los archivos (usando la API de Archivo) y pasarlos a la entrada de files matriz.

    Excepto que un archivo de entrada es sólo lectura. Este es un viejo problema.

    Sin embargo, puede omitir el control de formulario completamente y cargar a través de XHR (no estoy seguro acerca de la compatibilidad para que):

    Usted podría también utilizar un elemento en el área circundante a cancelar el evento colocar en Chrome, y evitar el comportamiento por defecto de la carga del archivo.

    Soltar múltiples archivos a través de la entrada que ya funciona en Firefox y Safari.

    • Como he dicho en la pregunta: sé que XHR2 y no quiero usarlo. Supongo que la iportant parte: «el archivo de entrada es de solo lectura». Que mierda… la Cancelación de la caída del evento no es una mala idea! No tan bueno como yo esperaba, pero probablemente el mejor. Soltar múltiples archivos funciona en Chrome también por cierto. Chrome ahora también permite la carga de directorios. Todo muy kewl y no ayuda a mi caso =(
  6. 4

    Sé que algunos truco funciona en Chrome:

    Cuando soltar los archivos en la zona de caída de obtener una dataTransfer.files objeto, que es un FileList tipo de objeto, que contiene todos los archivos arrastrados. Mientras tanto, <input type="file" /> elemento tiene la propiedad files, que es el mismo FileList tipo de objeto.

    Así, usted puede simplemente asignar el dataTransfer.files objeto a la input.files propiedad.

    • Sí, lo hace en estos días. No es un truco. Muy intencional. También muy intencionalmente muy restringido. No puede agregar archivos a la lista, o mutar la lista. Arrastrar y soltar puede recordar a los archivos, y añadir en ellos, pero input.files no puedo =(
    • Esto salvó el día! Gracias.
  7. 3

    Para un CSS única solución:

    <div class="file-area">
    <input type="file">
    <div class="file-dummy">
    <span class="default">Click to select a file, or drag it here</span>
    <span class="success">Great, your file is selected</span>
    </div>
    </div>
    .file-area {
    width: 100%;
    position: relative;
    font-size: 18px;
    }
    .file-area input[type=file] {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0;
    cursor: pointer;
    }
    .file-area .file-dummy {
    width: 100%;
    padding: 50px 30px;
    border: 2px dashed #ccc;
    background-color: #fff;
    text-align: center;
    transition: background 0.3s ease-in-out;
    }
    .file-area .file-dummy .success {
    display: none;
    }
    .file-area:hover .file-dummy {
    border: 2px dashed #1abc9c;
    }
    .file-area input[type=file]:valid + .file-dummy {
    border-color: #1abc9c;
    }
    .file-area input[type=file]:valid + .file-dummy .success {
    display: inline-block;
    }
    .file-area input[type=file]:valid + .file-dummy .default {
    display: none;
    }

    Modificado a partir de https://codepen.io/Scribblerockerz/pen/qdWzJw

  8. 2

    Para cualquier persona que está mirando para hacer esto en 2018, tengo una mucho mejor y más sencilla solución, a continuación, todas las cosas viejas publicado aquí. Usted puede hacer un bonito drag & drop box con solo vainilla HTML, JavaScript y CSS.

    (Sólo funciona en Chrome por ahora)

    Vamos a empezar con el código HTML.

    <div>
    <input type="file" name="file" id="file" class="file">
    <span id="value"></span>
    </div>

    Entonces vamos a llegar a el estilo.

        .file {
    width: 400px;
    height: 50px;
    background: #171717;
    padding: 4px;
    border: 1px dashed #333;
    position: relative;
    cursor: pointer;
    }
    .file::before {
    content: '';
    position: absolute;
    background: #171717;
    font-size: 20px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    }
    .file::after {
    content: 'Drag & Drop';
    position: absolute;
    color: #808080;
    font-size: 20px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    }

    Después de que hayas hecho esto ya se ve bien. Pero me imagino que te gustaría ver qué archivo que actaully subido, por lo que vamos a hacer algo de JavaScript. Recuerde que la pfp-valor tramo? Es aquí donde vamos a imprimir el nombre del archivo.

    let file = document.getElementById('file');
    file.addEventListener('change', function() {
    if(file && file.value) {
    let val = file.files[0].name;
    document.getElementById('value').innerHTML = "Selected" + val;
    }
    });

    Y eso es todo.

    • Tengo un Uncaught TypeError: No se puede leer la propiedad ‘addEventListener’ null cuando yo uso este código en Chrome – ¿que no funciona en las últimas versiones de Chrome?
    • Funciona muy bien para mí en la última versión de Chrome. Asegúrese de usar el tipo correcto de IDENTIFICACIÓN del
  9. 1

    Impresionante el trabajo por @BjarkeCK. He hecho algunas modificaciones a su trabajo, a utilizar como método de jquery:

    $.fn.dropZone = function() {
    var buttonId = "clickHere";
    var mouseOverClass = "mouse-over";
    var dropZone = this[0];
    var $dropZone = $(dropZone);
    var ooleft = $dropZone.offset().left;
    var ooright = $dropZone.outerWidth() + ooleft;
    var ootop = $dropZone.offset().top;
    var oobottom = $dropZone.outerHeight() + ootop;
    var inputFile = $dropZone.find("input[type='file']");
    dropZone.addEventListener("dragleave", function() {
    this.classList.remove(mouseOverClass);
    });
    dropZone.addEventListener("dragover", function(e) {
    console.dir(e);
    e.preventDefault();
    e.stopPropagation();
    this.classList.add(mouseOverClass);
    var x = e.pageX;
    var y = e.pageY;
    if (!(x < ooleft || x > ooright || y < ootop || y > oobottom)) {
    inputFile.offset({
    top: y - 15,
    left: x - 100
    });
    } else {
    inputFile.offset({
    top: -400,
    left: -400
    });
    }
    }, true);
    dropZone.addEventListener("drop", function(e) {
    this.classList.remove(mouseOverClass);
    }, true);
    }
    $('#drop-zone').dropZone();

    Trabajo De Violín

    • FYI: el Violín enlace está roto.
  10. 1

    Unos años más tarde, he construido esta biblioteca a hacer soltar archivos en cualquier elemento HTML.

    Se puede utilizar como

    const Droppable = require('droppable');
    const droppable = new Droppable({
    element: document.querySelector('#my-droppable-element')
    })
    droppable.onFilesDropped((files) => {
    console.log('Files were dropped:', files);
    });
    //Clean up when you're done!
    droppable.destroy();
    • No funciona con IE 11, aunque.
  11. 0

    Esto es lo que me salió.

    Usando Jquery y Html. Esto agregará al insertar archivos.

    JS:

    var dropzone = $('#dropzone')
    dropzone.on('drag dragstart dragend dragover dragenter dragleave drop', function(e) {
    e.preventDefault();
    e.stopPropagation();
    })
    dropzone.on('dragover dragenter', function() {
    $(this).addClass('is-dragover');
    })
    dropzone.on('dragleave dragend drop', function() {
    $(this).removeClass('is-dragover');
    })  
    dropzone.on('drop',function(e) {
    var files = e.originalEvent.dataTransfer.files;
    //Now select your file upload field 
    //$('input_field_file').prop('files',files)
    });

    CSS:

    input {	margin: 15px 10px !important;}
    .dropzone {
    padding: 50px;
    border: 2px dashed #060;
    }
    .dropzone.is-dragover {
    background-color: #e6ecef;
    }
    .dragover {
    bg-color: red;
    }

    HTML:

    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
    <div class="" draggable='true' style='padding: 20px'>
    <div id='dropzone' class='dropzone'>
    Drop Your File Here
    </div>
    </div>

  12. -1

    Lo que podría hacer, es mostrar un archivo de entrada y de superposición con su transparente de caída de la zona, teniendo cuidado de utilizar un nombre como file[1]. {Asegúrese de tener la enctype="multipart/form-data" el interior de la etiqueta.}

    Entonces la caída del área de manejar los archivos extra de forma dinámica la creación de más entradas del archivo para los archivos 2..number_of_files, asegúrese de utilizar el mismo nombre de base, que pueblan el valor de atributo de forma adecuada.

    Por último (front-end) de enviar el formulario.


    Todo lo que se requiere para manejar este método es modificar su procedimiento para controlar una matriz de archivos.

    • El archivo de entrada tiene un multiple atributo en estos días. No hay necesidad de más de 1 archivo de entrada. Ese no es el problema, aunque. ¿Cómo puedo obtener el File objetos en el archivo de entrada? Estoy pensando que esto requiere algo de código de ejemplo…
    • no se puede, ese es el problema.
    • No puede qué? Múltiples? Sí, se puede. Me acaba de decir que. Las múltiples no es el problema. La obtención de los archivos de un (arrastrado) objeto de Archivo en un archivo de entrada, ese es el problema.
    • dejarse arrastrar el archivo(s) a un archivo de entrada es posible con Chrome/FF (utilizando el files de la propiedad), pero no he conseguido en IE – ¿has tenido suerte?
    • ¿Qué quiere decir «el uso de la propiedad de archivos»? Podría usted hacer una respuesta con el código correspondiente? Lo que estaba buscando no funciona/existen en cualquier navegador.

Dejar respuesta

Please enter your comment!
Please enter your name here