मैं एक SQL डेटाबेस है कि कुछ दस्तावेजों को संग्रहीत करता है।सी # ASP.NET 3.5 सामग्री-विन्यास फ़ाइल डाउनलोड समस्याओं
कोई उपयोगकर्ता एप्लिकेशन में साइन इन कर सकता है, और उनके दस्तावेज़ों की एक सूची देख सकता है।
अपने दस्तावेज़ों के ग्रिडव्यू में लिंकबटन डाउनलोड पर क्लिक करते समय, मुझे डेटाबेस से फ़ाइल मिलती है, इसे फ़ाइल सिस्टम में लिखें, और फिर इस कोड को निष्पादित करें।
System.IO.FileInfo file = new System.IO.FileInfo(System.Configuration.ConfigurationManager.AppSettings["UploadPath"] + DocumentName);
Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.Cookies.Clear();
Response.Cache.SetCacheability(HttpCacheability.Private);
Response.CacheControl = "private";
Response.Charset = System.Text.UTF8Encoding.UTF8.WebName;
Response.ContentEncoding = System.Text.UTF8Encoding.UTF8;
Response.AppendHeader("Content-Length", file.Length.ToString());
Response.AppendHeader("Pragma","cache");
Response.AppendHeader("Expires", "60");
Response.ContentType = GetContentType(file.Extension);
Response.AppendHeader("Content-Disposition",
"inline; " +
"filename=\"" + file.Name + "\"; " +
"size=" + file.Length.ToString() + "; " +
"creation-date=" + DateTime.Now.ToString("R") + "; " +
"modification-date=" + DateTime.Now.ToString("R") + "; " +
"read-date=" + DateTime.Now.ToString("R"));
मेरे GetContentType() विधि बस, फ़ाइलें मैं इजाजत दी कर रहा हूँ "application/पीडीएफ, आवेदन/msw0rd के लिए उपयुक्त फ़ाइल प्रकार का रिटर्न आदि
मेरे समस्या है जब फ़ाइल सहेजा जाता है कि, यह वेबपृष्ठ स्वयं है, फ़ाइल सिस्टम से फ़ाइल नहीं है। और Google क्रोम में, यह फ़ाइल नाम के अंत में एक .htm एक्सटेंशन डाल रहा है, मुझे लगता है क्योंकि यह जानता है कि यह एक वेब पेज है?
किसी भी तरह, पहले एक महान कदम वास्तविक फ़ाइल प्राप्त करने के लिए होगा, और नहीं एचटीएमएल वे वेब पृष्ठ की एक प्रतिलिपि पर बैठे हैं!
धन्यवाद।