Pregunta

Estoy luchando para que el archivo Blueimp jquery-Sploader trabaje en MVC 3 con IIS 7.5 en Windows Server 2008 R2. Estoy usando un httphandler para manejar la carga, que se llama. Pero el httphandler nunca recibe un archivo ni el httpmethod "post" o "put", siempre "opciones". ¿Alguien tiene una idea de lo que está haciendo mal aquí?

El único mensaje que recibo en el Fail-Callback desde el cargador es "Error".

Aquí mi JS:

$('#fileupload').fileupload(
{
    acceptFileTypes: /(\.|\/)(pdf)$/i,
    fail: function (e, data) {
        alert("Error: " + data.errorThrown + " Text-Status: " + data.textStatus);
        // data.jqXHR;
    },
    maxNumberOfFiles: 1
    /*add: function (e, data) {
        data.formData = [{ name: "name1", value: "1" }, { name: "name2", value: "2"}];

        data.submit();
    },
    submit: function (e, data) {
        //data.formData = [{ name: "name1", value: "1" }, { name: "name2", value: "2"}];
    }*/
}
);

¡Muchas gracias por cualquier ayuda!

¿Fue útil?

Solución

De acuerdo, agregar algún código hizo el truco:

Lado del servidor:

        HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "http://example.net");
        HttpContext.Current.Response.AddHeader("Access-Control-Allow-Credentials", "true");

Lado del cliente:

$('#fileupload').fileupload(
{
    xhrFields: {
        withCredentials: true
    }
}

Otros consejos

Cuando su página se sirve desde Domain1.com y está tratando de cargar en Domain2.com. Su solicitud de publicación HTTP está preferida.

Su dominio2.com debería permitir que Domain1.com cargue un archivo. En un servidor diferente hay un mecanismo diferente para hacerlo.

Simplemente lea sobre cómo establecer "Access-Control-Allow-Origin" para su servidor, que es IIS en este caso.

Para Amazon S3, es bastante simple que tienen un XML de política que debe actualizar para esto.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top