2016-03-23 5 views
7

मैं वेब एपीआई + एंगुलरज का उपयोग करके एक फ़ाइल डाउनलोड करने की कोशिश कर रहा हूं और यह ठीक काम कर रहा है, हालांकि मैं वेब एपीआई से हेडर में 'कंटेंट-डिस्पोजिशन' भेज रहा हूं लेकिन मैं प्रतिक्रिया-हेडर में इसे एक्सेस करने में असमर्थ हूं।http.get हेडर से सामग्री-स्वभाव नहीं मिल सकता है?

वेबएपीआई:

[HttpGet] 
[AllowCrossSiteJson] 
public HttpResponseMessage GetAcquisitionsTemplate() 
{ 
    var docContent = _d.FirstOrDefault(); 
    Stream stream = new MemoryStream(docContent.Content); 
    HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK); 
    string contentDisposition = string.Concat("attachment; filename=", docContent.Name.Replace(" ", String.Empty), "." + docContent.Extension); 
    result.Content = new StreamContent(stream); 
    result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");  
    result.Content.Headers.ContentDisposition = ContentDispositionHeaderValue.Parse(contentDisposition); 
    return result;    
} 

क्लाइंट साइड (AngularJS):

$http.get(url)success(function (data, status, headers) { 
    var header= headers(); 
}) 

हेडर में मैं निम्न मान हो रही है, लेकिन मैं सामग्री-स्वभाव प्राप्त करने में असमर्थ हूँ। कृपया मुझे सही करें जहां मैं गलत हूं?

enter image description here

उत्तर

7

मुझे लगता है कि आप अनुमति देने के लिए अपने सर्वर टीम से पूछते हैं, स्थानीय होस्ट से यह हिट करने के लिए है, जबकि फ़ाइल सर्वर पर होस्ट की है कोशिश कर रहे हैं कि मामले में, पहुंच-नियंत्रण-बेनकाब-हेडर ('सामग्री-विन्यास ')। इस शीर्षलेख के साथ, कस्टम हेडर जैसे कॉन्टेंट-डिस्पोजिशन आपके लिए क्रॉस डोमेन

+0

पर पहुंच योग्य होगा, यह है कि आप इसे रेल बैकएंड पर कैसे करते हैं: http://jaketrent.com/post/expose-http-headers-in- CORS / –

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