2008-10-03 10 views
6

मेरे पास एक वेबपृष्ठ है जो डेटाबेस से जानकारी खींचता है, इसे .csv प्रारूप में परिवर्तित करता है, और फ़ाइल को HTTPResponse पर लिखता है।ग्राहक को भेजे गए फाइल का नाम बदलें?

string csv = GetCSV(); 
Response.Clear(); 
Response.ContentType = "text/csv"; 
Response.Write(csv); 

यह ठीक काम करता है, और फ़ाइल को बिना किसी समस्या के क्लाइंट को भेजा जाता है। हालांकि, जब फ़ाइल क्लाइंट को भेजी जाती है, तो वर्तमान पृष्ठ का नाम अधिक दोस्ताना नाम (जैसे "data.csv") के बजाय उपयोग किया जाता है।

alt text

मेरे सवाल यह है कि मैं जिस फ़ाइल को डिस्क पर फ़ाइल लेखन और फ़ाइल का URL के लिए क्लाइंट रीडायरेक्ट किए बिना उत्पादन धारा को लिखा है नाम बदल सकते हैं, है?

संपादित करें: प्रतिक्रियाओं के लिए धन्यवाद दोस्तों। मुझे एक ही प्रतिक्रिया मिली 4, इसलिए मैंने पहले जवाब के रूप में पहला चुना।

उत्तर

11

मेरा मानना ​​है कि यह आपके लिए काम करेगा।

Response.AddHeader("content-disposition", "attachment; filename=NewFileName.csv"); 
1

मूल्य के साथ एक "सामग्री-विन्यास" शीर्षक जोड़ें "लगाव; फ़ाइल नाम = filename.csv"।

1
Response.AddHeader("content-disposition", "attachment; filename=File.doc") 
2

तुम बस सामग्री-विन्यास हैडर निर्धारित करने की आवश्यकता

Content-Disposition: attachment; filename=data.csv 

यह Microsoft समर्थन लेख कुछ अच्छी जानकारी

How To Raise a "File Download" Dialog Box for a Known MIME Type

+0

उदाहरण अमान्य है (एक पिछला अर्ध नहीं होना चाहिए Olon)। –

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