¿Cómo puedo cargar archivos de forma asincrónica?
Frecuentes
Visto 1,386 veces
3006
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?
0 Respuestas
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas javascript jquery ajax asynchronous xmlhttprequest or haz tu propia pregunta.
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. - Cheery
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 - Jimmy
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í) - Ashish Panery
Compruebe también esto: stackoverflow.com/questions/6974684/…, aquí explica cómo lograrlo a través de jQuery - Federico J.
@Jimmy ¿Cómo podría obtener el archivo que se encuentra en la entrada? - alex