मैं फ़ाइल डाउनलोड ट्रिगर करने की कोशिश कर रहा हूं, और मुझे सफारी पर ऐसा करने में समस्याएं हैं (फ़ायरफ़ॉक्स & क्रोम काम करता है)।फ़ाइल डाउनलोड करें सफारी
@RequestMapping(method = RequestMethod.GET, produces = "text/csv")
@ResponseBody
public String getReports(
final HttpServletResponse response,
final @RequestParam String data) throws ParseException {
response.setHeader("Content-type", "text/csv; charset=utf-8");
response.setHeader("Content-Disposition","attachment; filename='view.csv'");
String csv = exportCurrentService.extractMatrix(data);
response.setContentLength(csv.length());
return csv;
}
और यहाँ मेरे मुवक्किल कोड है::
downloadURI(url, name) {
const a = document.createElement('a');
a.href = url;
a.download = name;
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
}
सफारी में प्रतिक्रिया स्क्रीन (एक ही पृष्ठ पर लोड) पर बाहर छपा है
यहाँ मेरी जावा कोड है।
नोट: मैंने SO पर सुझाए गए अन्य तरीकों का प्रयास किया है लेकिन प्रत्येक की अपनी समस्याएं हैं।
अपडेट: प्रतिक्रिया शीर्षलेख में मैं देखता हूं कि सामग्री-डिस्पोजिशन अनुलग्नक के बजाय इनलाइन पर सेट है। यह क्यों हो रहा है?
मैंने क्या गलत किया?
क्या आप अनुरोध और प्रतिक्रिया शीर्षलेख प्राप्त करने के लिए सफारी में वेब इंस्पेक्टर का उपयोग कर सकते हैं, और उन्हें अपने प्रश्न में जोड़ सकते हैं? – Stobor
'सामग्री-प्रकार: टेक्स्ट/सीएसवी' को 'सामग्री-प्रकार: एप्लिकेशन/ऑक्टेट-स्ट्रीम' में बदलने के लिए आपके लिए कुछ भी बदल रहा है? – d3L
यह डाउनलोड करता है लेकिन फ़ाइल एक्सटेंशन और फ़ाइल नाम के बिना (सभी ब्राउज़रों में) – vlio20