के साथ फ़ाइल का अनुरोध करें मेरे पास असामान्य आवश्यकता है। अनिवार्य रूप से मुझे एक तरीका चाहिए ताकि जब उपयोगकर्ता किसी लिंक या बटन पर क्लिक करेगा, तो उन्हें एक पीडीएफ प्राप्त होगा। यहां का मुश्किल हिस्सा यह है कि सर्वर पर सभी पर अनुरोध संसाधित नहीं करेगा जब तक कोई कस्टम हेडर नहीं भेजा जाता है (अन्यथा यह व्यक्ति को लॉग आउट किया जाता है और उन्हें लॉगिन स्क्रीन पर भेजता है)।कस्टम हेडर
इस समय हेडर काम करने के तरीके को बदला नहीं जा सकता है, इसलिए कृपया उस पर ध्यान न दें; यह भविष्य में बदल जाएगा और एक आंतरिक अनुप्रयोग है जिसका मेरा कोई नियंत्रण नहीं है।
विकल्प का पता लगाया है:
- Iframe का उपयोग करके या बस मार्ग में किसी प्रकार का है कि पीडीएफ वापस आ जाएगी साथ एक नई विंडो खोलने। यह काम नहीं कर सकता क्योंकि मैं पीडीएफ के लिए आवश्यक शीर्षलेख निर्दिष्ट नहीं कर सकता और पीडीएफ तक पहुंचने से पहले इसे पुनर्निर्देशित किया जाएगा।
- एक फॉर्म का उपयोग करना और अनुरोध जमा करना काम नहीं कर सकता क्योंकि मैं फॉर्म में किसी कस्टम हेडर को जोड़ नहीं सकता (केवल एक्सएचआर और प्लगइन्स कर सकते हैं, AFAIK)।
- एक्सएचआर का उपयोग करना काम नहीं कर सकता है, जबकि यह हेडर जोड़ सकता है और फ़ाइल पुनर्प्राप्त कर सकता है, क्लाइंट पक्ष पर इसे सहेजने का कोई तरीका नहीं है।
यह इस बिंदु पर अपने ही विकल्प प्रकट होता अनिवार्य रूप से कर रहे हैं:
- फ़ाइल अनुरोध करने के लिए इस तरह के प्लगइन Flash या Silverlight के रूप में किसी प्रकार का उपयोग करें।
- अपेक्षित अपेक्षा से पहले आवश्यकता के परिवर्तन को मजबूर करें ताकि एक शीर्षलेख की आवश्यकता न हो।
क्या मुझे कुछ भी याद आ रही है? मुझे उम्मीद है कि कोई मेरे निष्कर्षों को सत्यापित कर सकता है या मुझे कुछ याद करने के लिए इंगित कर सकता है क्योंकि, जहां तक मैं कह सकता हूं, वास्तव में ऐसा कुछ भी नहीं है जो मैं कर सकता हूं।
संपादित करें: यह उपयुक्त लगता है और इस बात की पुष्टि है कि मैं क्या सोच रहा था: XMLHttpRequest to open PDF in browser
ऐप और आपकी स्क्रिप्ट के बीच किसी प्रकार की सुरंग जोड़ने के बारे में कैसे? सुरंग ऐप से पूछताछ कर सकती है और फ़ाइल प्राप्त कर सकती है, और उसके बाद फ़ाइल को उपयोगकर्ता को फ्लश करने से पहले एक उचित शीर्षलेख सेट कर सकता है, इस प्रकार वास्तव में डाउनलोड को ट्रिगर कर सकता है। मुझे नहीं पता कि सुरक्षा के आधार पर आपके सिस्टम के लिए यह संभव है या नहीं। –
एक सुरंग एक बुरा विचार नहीं है हालांकि मुझे यकीन नहीं है कि हम इसे यहां कार्यान्वित कर सकते हैं। हम्म। धन्यवाद, मैं इसे देख लूंगा। – Kris
यदि आप आईई <10 (बहुत संभावना नहीं है, सही?) के लिए समर्थन के बिना कर सकते हैं, तो आप XMLHttpRequest स्तर 2 (XHR2) और ब्लॉब यूआरएल का उपयोग कर सकते हैं। यहां एक उदाहरण दिया गया है: http://stackoverflow.com/q/9620497 यह भी देखें http://stackoverflow.com/q/6165266 और http://www.html5rocks.com/en/tutorials/file/xhr2/ –