2012-02-19 4 views
6

Windows Server 2008 R2에서 IIS 7.5이 설치된 MVPI 3에서 작동하는 Blueimp jQuery 파일 업로드 프로그램을 얻는 데 어려움을 겪고 있습니다. 나는 HttpHandler를 사용하여 Upload를 처리하고 있는데, get은 호출된다. 그러나 HttpHandler는 파일이나 HttpMethod "POST"또는 "PUT"을 항상 수신하지 않습니다. 항상 "OPTIONS"입니다. 여기에 무슨 일이 일어나고 있는지 아무도 생각하지 못했습니까?Blueimp jQuery 파일 업로드 및 HttpHandler : 파일 없음 및 항상 "OPTIONS"HttpMethod

업 로더의 오류 콜백에 대한 유일한 메시지는 "오류"입니다. 여기

내 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"}]; 
    }*/ 
} 
); 

어떤 도움 주셔서 감사합니다!

답변

4

트릭이 몇 가지 코드를 않았다 추가 좋아요 :

서버 측 :

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

클라이언트 측 : 당신이 페이지가 domain1.com에서 제공하고 있습니다됩니다

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

domain2.com에 업로드하려고합니다. HTTP 게시물 요청이 미리 조정됩니다.

domain2.com은 실제로 domain1.com에서 파일을 업로드 할 수 있도록 허용해야합니다. 다른 서버에있는 에는 다른 메커니즘이 있습니다.

이 경우 IIS 인 서버에 대해 "Access-Control-Allow-Origin"을 설정하는 방법에 대해서 읽으십시오.

Amazon S3의 경우 매우 간단하며 정책을 업데이트해야합니다.