2010-02-23 13 views
5

मेरे पास इस पृष्ठ पर कुछ पीडीएफ रिपोर्ट प्रदर्शित करने के लिए एएसपी.NET पृष्ठ है। जब उपयोगकर्ता ड्रॉपडाउन से रिपोर्ट प्रकार का चयन करता है, तो मैं एएसपी.NET सत्र में रिपोर्ट डेटा के लिए आवश्यक जोड़ता हूं और .pxf रिपोर्ट जेनरेट करता है। Ifdame की विशेषता "src" .pdf रिपोर्ट उत्पन्न करता है। लेकिन ब्राउज़र में .pdf फ़ाइलों को देखने के लिए एडोब ग्लग-इन स्थापित नहीं है, ब्राउज़र रिपोर्ट फ़ाइल को सहेजने का प्रस्ताव करता है और प्रस्तावित फ़ाइल का नाम "हैंडलरनाम.एक्सएक्स" है। लेकिन मैं ब्राउज़र को फ़ाइल को "Report.pdf" नाम से सहेजने का प्रस्ताव देना चाहता हूं। क्या मैं यह कर सकता हूं? क्या कोई कामकाज है?ASP.NET .ashx मॉड्यूल का उपयोग कर फ़ाइलों को डाउनलोड करना

+0

ध्यान दें। एडोब प्लग-इन स्थापित होने पर जेनरेटेड .pdf फ़ाइल को प्रदर्शित करने की आवश्यकता है ... – w1z

उत्तर

4

कोशिश इनलाइन सामग्री-स्वभाव, हालांकि मैं इस जांच करने के लिए है:

Response.ContentType = "application/pdf"; 
Response.AppendHeader("content-disposition", "inline; filename=" + name); 
+0

माइक, यह बहुत अच्छा है। Kharkov, ग्लोबल लॉजिक से धन्यवाद। Мир тесен;) – w1z

+0

:), लेकिन जहां तक ​​मुझे पता है कि यह काम नहीं करेगा ... А кто ты конкртейней? –

+0

मैं इस समाधान के साथ थोड़ा सा खेलूँगा, लेकिन ऐसा लगता है कि यह काम नहीं करता है ... "тісніше немає вже куди: D" –

7

अपने ashx-फ़ाइल में निम्न शीर्षलेख जोड़ें:

context.Response.AddHeader("content-disposition", "attachment;filename=PUTYOURFILENAMEHERE.pdf"); 
context.Response.ContentType = "application/pdf"; 
+0

+1 तेजी से होने के लिए :) – Diadistis

+0

इस मामले में ब्राउजर एडोब प्लग-इन स्थापित होने पर फ़ाइल डाउनलोड करने का प्रस्ताव करता है ... – w1z

3
Use  


Response.Clear(); 
Response.ContentType = "application/octet-stream"; 
Response.AddHeader("Content-Disposition", "attachment; filename=Report.PDF");            
Response.WriteFile(Server.MapPath("~/YourPath/Report.PDF")); 
Response.End(); 
संबंधित मुद्दे