none
Enviar un Archivo (Image, Doc, Zip) a travez de un ajax post en MVC RRS feed

  • Pregunta

  • Hola, buenas noches, 

    Disculpen la molestia quisiera pedir su ayuda ya que me surgio un problema:

    1. Intento enviar un archivo que es recuperado en un input tipo file y enviarlo a un metodo del controller, pero atravez de ajax js, no he encontrado una solucion a esto, mi metodo recibe lo siguiente:

            public JsonResult GuardarEvidencia(ClasesAux.AuxFile file)
            {

    }

     public class AuxFile
        {
            public string archivo { get; set; }
    
            public byte[] Documento { get; set; }
    
            public string extension { get; set; }
    
            public string observaciones { get; set; }
        }


    2. a mi lo que me interesa recibir es archivo, pero como se daran cuenta la pripiedad Documento la recibe pero es un array de bites

    3. Yo lleno un objeto en js, para enviarlo al controller y el controller lo guarde en base de datos como un varbinary

    var evidencia = {
                        observaciones: observacion,
                        extension: extension,
                        archivo: filename,
                        Documento: fdata,
                    }


    $.ajax({
                        type: "POST",
                        url: 'GuardarEvidencia',
                        contentType: "application/json;charset=utf-8",
                        dataType: "json",
                        data: "{file:" + JSON.stringify(evidencia) +"}",
                        async: false,
                        success: function (response) {
                            $('#modal-ConfAgregado').modal("show");
                            LimpiaControles();
                            ReiniciarTabla();
                            ObtenerTodosLosDatos();
                            //$("#ModalEvidencia").modal("hide");
                        },
                        error: function (ex) {
                            $('#modal-Error').modal("show");
                        }
                    });


    4. Mi problema es que no se como convertir ese archivo que capturo en el input y enviarlo al controlador, porque cuando lo recibe esta en null

    he intenado el siguiente codigo al cargar el archivo, pero no me resulta 

        $('input[type=file]').change(function (event) {
            debugger;
            event.preventDefault();
    
           })


    <div class="form-group">
                                            <input id="file-1" type="file" multiple class="file" data-overwrite-initial="false" data-show-upload="false" multiple=true data-min-file-count="1">
                                            <span id="msgValidar" class="error" style="display:none;color:red">*No se ha Subido Ningun Archivo</span>
                                        </div>

    Si alguien puede ayudarme atraves de esta forma, se los agradeceria mucho


    domingo, 6 de diciembre de 2015 5:03

Todas las respuestas