¿Cómo puedo cargar archivos de forma asincrónica?

Me gustaría cargar un archivo de forma asincrónica con jQuery.

$(document).ready(function () {
    $("#uploadbutton").click(function () {
        var filename = $("#file").val();

        $.ajax({
            type: "POST",
            url: "addFile.do",
            enctype: 'multipart/form-data',
            data: {
                file: filename
            },
            success: function () {
                alert("Data Uploaded: ");
            }
        });
    });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
<span>File</span>
<input type="file" id="file" name="file" size="10"/>
<input id="uploadbutton" type="button" value="Upload"/>

En lugar de cargar el archivo, solo obtengo el nombre del archivo. ¿Qué puedo hacer para solucionar este problema?

preguntado Oct 03 '08, 08:10

Hay varios complementos listos para usar para cargar archivos para jQuery. Hacer este tipo de trucos de carga no es una experiencia agradable, por lo que la gente disfruta usando soluciones listas para usar. Aquí hay algunos: - Cargador de archivos JQuery - Complemento de carga de archivos múltiples - Mini carga de varios archivos - Carga de archivos jQuery Puede buscar más proyectos en NPM (usando "jquery-plugin" como palabra clave) o en Github. -

solo obtiene el nombre del archivo porque su nombre de archivo var obtiene el valor de $ ('# file'), no el archivo que se encuentra en la entrada -

Aquí hay uno bueno: http://blueimp.github.io/jQuery-File-Upload/ - Carga de HTML5 ajax - Elegante respaldo a iframes para navegadores no compatibles - Carga asíncrona de varios archivos Lo hemos usado y funciona muy bien. (Documentación aquí) -

Compruebe también esto: stackoverflow.com/questions/6974684/…, aquí explica cómo lograrlo a través de jQuery -

@Jimmy ¿Cómo podría obtener el archivo que se encuentra en la entrada? -

0 Respuestas

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.