पर तैनात किए जाने पर पीपीटीएक्स को निर्यात की गई रिपोर्ट डाउनलोड करने की समस्या जारी करना हम जेस्पर रीपॉर्ट्स 5.6.1 का उपयोग करके हमारी रिपोर्ट तैयार कर रहे हैं, और उसी टेम्पलेट को पीडीएफ या पावरपॉइंट पर निर्यात करने की अनुमति देते हैं। स्थानीय रूप से चलते समय, पीडीएफ और पीपीटीएक्स फ़ाइल डाउनलोड पूरी तरह से काम करते हैं। जब हम अपने सर्वर पर तैनात करते हैं तो पीडीएफ ठीक काम करता है, लेकिन पीपीटीएक्स फाइलें खोली नहीं जा सकती हैं। जब हम स्थानीय रूप से चलाते हैं, तो इसे टोमकैट पर तैनात किया जाता है, लेकिन जब सर्वर पर तैनात किया जाता है तो यह वेबस्पेयर पर चल रहा है।सर्वर
बातें मैंने कोशिश की और पाया है:
- मैं लॉग जाँच कर ली है, और वहाँ कोई अपवाद नहीं है या कुछ भी किसी भी भौहें बढ़ाने के लिए कर रहे हैं।
- डाउनलोड की गई फ़ाइल आमतौर पर उस समय से थोड़ी बड़ी होती है जब हम स्थानीय रूप से चलते हैं।
- यदि मैंने फ़ाइलों का विस्तार ज़िप में बदल दिया है, और उन्हें अनारक्षित किया है। फ़ाइलों की संरचना और फ़ाइल नाम समान हैं, फ़ाइलों के साथ वास्तव में एक ही फ़ाइल आकार के साथ। सामग्री प्रत्येक स्लाइड में पाए गए ऑब्जेक्ट्स के नामों में केवल अलग दिखाई देती है।
- सोच रहा है कि यह
x
प्रकार की फ़ाइलों के साथ समस्या हो सकती है, मैंने xlsx को निर्यात करने का प्रयास किया, यह देखने के लिए कि क्या होगा, और यह एक ही टेम्पलेट के साथ ठीक काम करता है। - मैंने एक स्थिर पीपीटीएक्स फ़ाइल जो अच्छी तरह से जानी थी, और इसे सर्वर से बिना किसी समस्या के डाउनलोड कर सकते हैं। मैंने इस मुद्दे से सर्वर कॉन्फ़िगरेशन को खत्म करने का प्रयास करने के लिए ऐसा किया, और यह समझ में आया कि यह काम करता है, मुझे लगता है कि यह मेरे कोड के साथ कुछ है, बस यह सुनिश्चित नहीं है कि क्या।
यहां हम प्रतिक्रिया लिखने के लिए कोड है:
if ("xlsx".equals(type)) {
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.setHeader("Content-Disposition", "attachment; filename=" + filename + ".xlsx");
} else if ("pptx".equals(type)) {
response.setContentType("application/vnd.openxmlformats-officedocument.presentationml.presentation");
response.setHeader("Content-Disposition", "attachment; filename=" + filename + ".pptx");
response.setCharacterEncoding("UTF-8");
} else {
response.setContentType("application/pdf");
response.setHeader("Content-Disposition", "attachment; filename=" + filename + ".pdf");
}
try (final ByteArrayOutputStream reportResult = reportsService.generateReport(
getDeal(userId, dealId, sessionStore),
getScenarioModel(userId, dealId, scenarioId, sessionStore), reportId, type)) {
configureResponse(response, type, reportResult, dealId + "-" + scenarioId);
// Write to http response
reportResult.writeTo(response.getOutputStream());
}
response.flushBuffer();
मैं समस्या निवारण चरणों पर विचार समाप्त हो गया है, और यह स्थानीय स्तर पर पुन: पेश करने में सक्षम होने के बिना, मैं इसे का निदान करने के लिए मुश्किल लग रहा है ।
क्या किसी को भी इस समस्या का समाधान मिला? हम एक ही मुद्दे से संघर्ष कर रहे हैं। क्या कोई इसमे मेरी मदद कर सकता है? –
कक्षापथ सेटिंग्स? जावा स्थानीय और सर्वर-पक्ष का वही संस्करण? वही जैस्पर रीपॉर्ट्स लाइब्रेरी संस्करण? सभी आश्रित पुस्तकालय स्थापित? वही संस्करण? निर्णय पेड़ का परीक्षण करने के लिए लॉगिंग? (इसके अलावा, भविष्य के रखरखाव के प्यार के लिए, कृपया डुप्लिकेट कोड को खत्म करें ...) –