2011-02-17 6 views
12

मैं अपने जेएसएफ वेब एप्लिकेशन में एक HTTPS (SSL) होस्ट पर फ़ाइल डाउनलोड (आमतौर पर सीएसवी या पीडीएफ) प्रदान कर रहा हूं। यह सबसे ब्राउज़रों में ठीक काम करता है, केवल IE7/8 निम्न त्रुटि देता है:आईई foo.jsf डाउनलोड नहीं कर सकता है। आईई इस इंटरनेट साइट को खोलने में सक्षम नहीं था। अनुरोधित साइट या तो अनुपलब्ध है या नहीं मिली

Internet Explorer cannot download foo.jsf. Internet Explorer was not able to open this internet site. The requested site is either unavailable or cannot be found. Please try again

मुझे लगता है कि त्रुटि JSF <h:commandLink> टैग IE के साथ संगत नहीं किया जा रहा से संबंधित है।

<h:commandLink value="Download" action="#{bean.download}" /> 

यह कैसे होता है और मैं इसे कैसे हल कर सकता हूं?

उत्तर

14

यह एक विशिष्ट एमएसआईई त्रुटि संदेश है जब डाउनलोड HTTPS (SSL) पर डाउनलोड किया गया है, जबकि प्रतिक्रिया शीर्षलेख no-cache के माध्यम से ब्राउज़र कैश को अक्षम करने के लिए सेट किए गए हैं। यह मुद्दा जेएसएफ से संबंधित नहीं है।

आपको प्रतिक्रिया कैडर को आराम करने की आवश्यकता है जो ब्राउज़र कैश पर प्रभाव डालती है। इसमें no-cache निर्देश नहीं होना चाहिए। आप इसे public, private या no-store पर सेट कर सकते हैं।

response.setHeader("Cache-Control", "public"); 
response.setHeader("Pragma", "public"); 

MS KB Q316431 भी देखें।

साथ ही, आपको WebSphere अनुप्रयोग सर्वर पर चलाने के लिए, तो क्रम में रूप में अच्छी तरह नीचे दी गई हेडर को जोड़ने के लिए यह बाद में Cache-Control हैडर अधिभावी से रोकने के लिए ऐसा करता है, तो: भी IE cannot download files over SSL served by WebSphere

response.setHeader("CookiesConfigureNoCache", "false");    

देखें।

+0

मेरी चिंता यह है कि फ़ाइल वास्तव में सार्वजनिक नहीं है और वास्तव में कभी कैश नहीं किया जाना चाहिए। –

+1

या तो 'कैश-कंट्रोल: नो-स्टोर' या 'कैश-कंट्रोल: प्राइवेट' और 'प्राग्मा: प्राइवेट' में से एक का उपयोग करें, जो कि इंटरनेट एक्सप्लोरर में एसएसएल पर काम करने वाली सबसे नज़दीकी चीज है। – bassim

1

यह मुद्दा जेएसएफ से संबंधित नहीं होगा क्योंकि यह केवल कमांडबटन को HTML में परिवर्तित कर रहा है जो सभी ब्राउज़रों में पहुंच योग्य है। मुझे लगता है कि समस्या abcBean.downloadCSV में है। क्या आप सामग्री प्रकार को सीएसवी फ़ाइल पर सही तरीके से सेट कर रहे हैं?

क्या आप वर्णन कर सकते हैं कि आपकी क्रिया विधि में क्या होता है?

+0

सामग्री प्रकार शायद ही समस्या हो सकता है क्योंकि यह अन्य ब्राउज़रों में ठीक काम करता है और एमएसआईई इसे किसी भी तरह से अनदेखा करता है (इसके बजाय यह अनुरोध यूआरएल के आधार पर निर्धारित करता है, हाँ कितना आश्चर्यजनक ...)। – BalusC

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

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