2012-02-19 11 views
6

मैं विंडोज सर्वर 2008 आर 2 पर आईआईएस 7.5 के साथ एमवीसी 3 पर काम कर रहे ब्लूंप jQuery फ़ाइल-अपलोडर को स्ट्रगलिंग कर रहा हूं। मैं अपलोड को संभालने के लिए एक HttpHandler का उपयोग कर रहा हूं, जिसे कॉल किया जाता है। लेकिन HttpHandler कभी फ़ाइल नहीं प्राप्त करता है और न ही HttpMethod "POST" या "PUT", हमेशा "विकल्प" प्राप्त करता है। क्या किसी को यह पता है कि यहां ग़लत ग़लत क्या है?ब्लूंप jQuery फ़ाइल अपलोड और एचटीपी हैंडलर: कोई फ़ाइल और हमेशा "विकल्प" HttpMethod

अपलोडर से असफल कॉलबैक पर एकमात्र संदेश "त्रुटि" है।

यहाँ मेरी जे एस:

$('#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"); 

क्लाइंट-साइड:

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

जब आप पेज domain1.com से परोसा जाता है और आप कर रहे हैं domain2.com पर अपलोड करने का प्रयास कर रहा है। आपका HTTP पोस्ट अनुरोध प्रीफ़लाइट किया गया है।

आपके डोमेन 2.com को वास्तव में डोमेन फ़ाइल को फ़ाइल अपलोड करने की अनुमति देनी चाहिए। विभिन्न सर्वर पर ऐसा करने के लिए अलग-अलग तंत्र हैं।

बस इस मामले में आईआईएस है जो आपके सर्वर के लिए "एक्सेस-कंट्रोल-ऑर्डर-ऑरिजन" सेट करने के बारे में पढ़ें।

अमेज़ॅन एस 3 के लिए, यह काफी सरल है कि उनके पास एक नीति xml है जिसे आपको इसके लिए अपडेट करने की आवश्यकता है।

संबंधित मुद्दे