आप अपने स्टोरेज से फ़ाइल को बाइट सरणी के रूप में पढ़ने की कोशिश कर सकते हैं और File
विधि को क्रिया विधि से वापस करने के लिए उपयोग कर सकते हैं।
public ActionResult View(int id)
{
// id is a unique id for the file. Use that to get the file from your storage.
byte[] byteArrayOfFile=GetFileInByteArrayFormatFromId(id);
return File(byteArrayOfFile,"application/pdf");
}
GetFileInByteArrayFormatFromId
रिटर्न अपने भंडारण/नीला से पढ़ने के बाद फाइल का बाइट सरणी संस्करण मान लिया जाये। आप अपने पर्यावरण में कुछ फाइलों को कैशिंग करने पर विचार कर सकते हैं ताकि आपको हर अनुरोध पर इसे प्राप्त करने के लिए एज़ूर तक पहुंचने की आवश्यकता न हो।
आप एक फ़ाइल धारा के रूप में फ़ाइल पढ़ सकते हैं, File
विधि एक अधिभार जो कि रूप में अच्छी तरह
public ActionResult View(int id)
{
// id is a unique id for the file. Use that to get the file from your storage.
FileStream fileStream = GetFileStreamFromId(id);;
return File(fileStream, "application/pdf","Myfile.pdf");
}
लेता है और है आप अपने सर्वर (कैश फ़ाइलें) में फ़ाइल उपलब्ध है, तो आप फ़ाइल विधि का एक और ओवरलोड का उपयोग कर सकते हैं जहां आप बाइट सरणी के बजाय पथ पास करेंगे।
public ActionResult View(int id)
{
var f = Server.MapPath("~/Content/Downloads/sampleFile.pdf");
return File(f,"application/pdf");
}
यदि ब्राउज़र को प्रतिक्रिया के प्रकार के प्रकार को प्रदर्शित करने का समर्थन है, तो प्रतिक्रिया ब्राउज़र में प्रदर्शित की जाएगी। अधिकांश प्रमुख ब्राउज़र पीडीएफ फ़ाइलों को प्रतिपादित करने का समर्थन करते हैं।
फ़ाइल विधि का एक और अधिभार है जो डाउनलोड फ़ाइल नाम लेता है जो ब्राउज़र 'सेव/डाउनलोड संवाद का उपयोग करेगा ताकि उपयोगकर्ता इसे अपना स्थानीय कंप्यूटर और/या खोल सके।
public ActionResult View(int id)
{
var pathToTheFile=Server.MapPath("~/Content/Downloads/sampleFile.pdf");
return File(pathToTheFile, MimeMapping.GetMimeMapping(pathToTheFile),"Myfile.pdf");
}
public ActionResult ViewFromByteArray(int id)
{
byte[] byteArrayOfFile=GetFileInByteArrayFormatFromId(id);
return File(byteArrayOfFile, "application/pdf","Myfile.pdf");
}
इसके साथ, उपयोगकर्ता को ब्राउज़र से एक डाउनलोड प्रॉम्प्ट मिलेगा।
Azure 'file.DownloadToByteArray()' का उपयोग कर बाइट सरणी के रूप में सीधे डाउनलोड करने की अनुमति देता है। – devSparkle