es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Copie y pegue archivos en Firefox con JavaScript.

Buenos días.
Estoy intentando copiar un archivo a una página que lo recibe, esto funciona bien en Chrome, Edge y Opera, pero no en Firefox…

La idea es copiar uno o varios archivos y poder pegarlos en el navegador, la siguiente función reconoce el efecto de pegar, consulta los datos del portapapeles e inserta estas imágenes o vídeos en algunos campos de entrada de archivos.

El único navegador que no es compatible es Firefox, y la versión 83 de Chrome según lo que he probado.

window.addEventListener("paste",funcionCopiarPegar);

function funcionCopiarPegar(e){
    var fileInput = document.querySelector("input");
    if(e.clipboardData.files.length > 0){
        fileInput.files = e.clipboardData.files;
        $("input").eq(0).trigger("change");        
    }else{            
        console.log("%cFirefox o navegador no compatible", "color:red");
    }
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="file">

¿Alguien sabe de algún otro método para copiar un archivo, pegarlo en una página y que sea leído e insertado en un campo de entrada?

¡Muchas gracias!

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Como experto en tecnología de la información especializado en javascript, archivo, firefox, copy-paste y clipboarddata, puedo decir que el código proporcionado debería funcionar en la mayoría de los navegadores modernos, excepto Firefox y la versión 83 de Chrome.

    Para copiar un archivo y pegarlo en una página de Firefox, es posible que necesites utilizar un método diferente. Una alternativa podría ser utilizar la funcionalidad de arrastrar y soltar para subir el archivo. Otra opción sería hacer que el usuario seleccione el archivo utilizando el elemento de formulario de entrada de archivo y luego activar una carga con JavaScript.

    Como alternativa, podrías intentar usar una biblioteca de terceros que proporcione una forma unificada de manejar la funcionalidad de carga de archivos en diferentes navegadores. Ejemplos de dichas bibliotecas incluyen Dropzone.js o Fine Uploader.

    En general, no existe una solución única para copiar y pegar archivos en diferentes navegadores, pero con un poco de experimentación y las herramientas adecuadas, deberías poder proporcionar una solución confiable para tus usuarios.

Comments are closed.