Problema entregando el contenido del archivo en Internet Explorer
-
26-09-2019 - |
Pregunta
Im presentar mi archivo a través de jQuery utilizando Jform.js plugin y su funcionamiento en Firefox pero cuando lo intento en el archivo IE8 adecuadamente sumbitted pero el control de carga de archivos se oculta y más aún cuando comento condición IE entonces el imposible de control de carga de archivos obtener ocultar pero cuando verifico Request.Files [0] .ContentLength en mi controlador que tiene valor 0. Este es mi código y lo que puede ser que estoy haciendo mal? Im con Asp.net MVC y jQuery 1.4.2-
var myform = document.createElement("form");
myform.style.display = "none"
myform.action = "/Media/AjaxSubmit";
myform.enctype = "multipart/form-data";
myform.method = "post";
var imageLoad;
var imageLoadParent;
if (document.all) {//IE
imageLoad = document.getElementById(fileId);
imageLoadParent = document.getElementById(fileId).parentNode;
myform.appendChild(imageLoad);
document.body.appendChild(myform);
}
else {//FF
imageLoad = document.getElementById(fileId).cloneNode(true);
myform.appendChild(imageLoad);
document.body.appendChild(myform);
}
$(myform).ajaxSubmit({ success: function (responseText) {
});
Solución 2
La solución es sencilla me acaba de añadir que el control de exploración cuando respuesta de vuelta de ajaxsubmit función y el código es el siguiente
$(myform).ajaxSubmit({ success: function (responseText) {
if (document.all) {//IE
imageLoadParent.appendChild(myform.firstChild);
}
else//FF
{
document.body.removeChild(myform);
}
Otros consejos
¿Cuál es el delirio antes .ajaxSubmit
? Parece que el código desde el final de los años 90. Yo recomendaría que usted utilice simplemente jQuery y no preocuparse por problemas con el navegador cruz:
$('form')
.attr('action', '/Media/AjaxSubmit')
.attr('method', 'post')
.attr('enctype', 'multipart/form-data')
.hide()
.append($('#' + fileId).clone())
.ajaxSubmit({
success: function(responseText) {
// ...
}
})
.appendTo('body');
Observación: la acción forma codificada se ve feo. Usted debe considerar el uso de ayudantes HTML para generar direcciones URL.