निम्नलिखित एक पीडीएफ देता है जो ब्राउजर सीधे इनलाइन को प्रदर्शित करने का प्रयास करता है। यह सही ढंग से काम करता है। हालांकि, अगर मैं फ़ाइल डाउनलोड करने का प्रयास करता हूं, तो डाउनलोड नाम "myPDF.pdf" नहीं है, बल्कि इसके बजाय मार्ग में आईडी (myapp/नियंत्रक/पीडीएफ जेनरेटर/आईडी) है। क्या फ़ाइल डाउनलोड नाम "myPDF.pdf" होना संभव है?एएसपी.नेट एमवीसी फाइलस्ट्रीम रिसेट, फ़ाइल डाउनलोड नाम का उपयोग नहीं किया गया है
public FileStreamResult PDFGenerator(int id)
{
MemoryStream ms = GeneratePDF(id);
byte[] file = ms.ToArray();
MemoryStream output = new MemoryStream();
output.Write(file, 0, file.Length);
output.Position = 0;
HttpContext.Response.AddHeader("content-disposition",
"inline; filename=myPDF.pdf");
return File(output, "application/pdf", fileDownloadName="myPDF.pdf");
}
हाँ की तरह खत्म हो, कि मेरा उत्तर के पूरे मुद्दे था। अगर आप फ़ाइल को इनलाइन प्रदर्शित करना चाहते हैं तो ** ** एक फ़ाइल नाम निर्दिष्ट नहीं कर सकता है। यदि आप पीडीएफ फाइल इनलाइन प्रदर्शित करते हैं, तो यह पीडीएफ फाइलों को खोलने के लिए क्लाइंट मशीन पर जुड़े प्लगइन के साथ खोला जाता है। विभिन्न प्लगइन के बीच व्यवहार अलग-अलग होगा। –
@ नलान एम उत्तर इसे ज्यादातर मामलों में डाउनलोड करने के लिए मजबूर कर सकता है। तो, इसे संभव नहीं कहा जाना चाहिए। –
एक प्रश्न, जो यहां स्ट्रीम का निपटान करने का ख्याल रखता है? – Legends