सिस्टम का उपयोग कर; System.Collections.Generic का उपयोग कर; System.Web का उपयोग कर; System.Web.UI का उपयोग कर; System.Web.UI.WebControls का उपयोग कर; सार्वजनिक आंशिक वर्ग होमपैनेल: सिस्टम.वेब.यूआई.पेज {सुरक्षित शून्य पेज_लोड (ऑब्जेक्ट प्रेषक, इवेंटएआरजीएस ई) {} सुरक्षित वॉलेंड लिंकबटटन 1_क्लिक (ऑब्जेक्ट प्रेषक, इवेंटएरग्स ई) {डाउनलोडफाइल (); } सुरक्षित शून्य ImageButton1_Click (ऑब्जेक्ट प्रेषक, ImageClickEventArgs ई) {DownloadFile (); } निजी शून्य DownloadFile () {string getPath = "E-MobApps / सब रिचार्ज.एपीके"; System.IO.Stream iStream = नल; // बफर को 10 के बाइट्स को टुकड़ों में पढ़ने के लिए: बाइट [] बफर = नया बाइट [1024]; // फाइल की लंबाई: int लंबाई; // पढ़ने के लिए कुल बाइट: लंबी डेटा; // अपने पथ सहित डाउनलोड करने के लिए फ़ाइल को पहचानें स्ट्रिंग filepath = Server.MapPath (getPath); // फ़ाइल नाम को पहचानें स्ट्रिंग फ़ाइल नाम = System.IO.Path.GetFileName (फ़ाइलपथ); कोशिश करें {// फ़ाइल खोलें। IStream = नया सिस्टम। आईओफ़ाइलस्ट्रीम (फ़ाइलपथ, सिस्टम। आईओफ़ाइलमोड। ओपन, सिस्टम। आईओफ़ाइलएसर। रीड, सिस्टम। आईओ .फ़ाइलशेयर। रीड); // पढ़ने के लिए कुल बाइट: डेटाटाओरेड = iStream.Length; Response.ContentType = "एप्लिकेशन / vnd.android.package-archive"; Response.AddHeader ("सामग्री-विवाद", "अनुलग्नक; फ़ाइल नाम =" + फ़ाइल नाम); // बाइट्स पढ़ें जबकि (डेटाटाइरेड & gt; 0) {// सत्यापित करें कि क्लाइंट कनेक्ट है If (Response.IsClientConnected) {// बफ़र में डेटा पढ़ें लंबाई = iStream.Read (बफर, 0, 1024); // मौजूदा आउटपुट स्ट्रीम में डेटा लिखें। Response.OutputStream.Write (बफर, 0, लंबाई); // एचटीएमएल आउटपुट में डेटा फ्लश करें। Response.Flush (); बफर = नया बाइट [1024]; DataToRead = डेटाटाइरेड - लंबाई; } Else {// असीमित लूप को रोका जायेगा अगर उपयोगकर्ता डेटा डिस्कनेक्ट करता है तोरेड = -1; }}} पकड़ (अपवाद पूर्व) {// ट्रैप त्रुटि, यदि कोई हो प्रतिक्रिया। लिखें ("त्रुटि:" + पूर्व। संदेश); } अंत में {if (iStream! = Null) {// फ़ाइल बंद करें। iStream.Close (); } प्रतिक्रिया। बंद करें (); }}} यह मेरा सर्वर साइड कोड है और मैं अपने एंड्रॉइड। एपीक फ़ाइल को लिंक क्लिक पर डाउनलोड करने की कोशिश कर रहा हूं। लेकिन डाउनलोड की गई फ़ाइल 16 केबी है जो वास्तविक अर्थात् से छोटा है। 3.5 एमबी यह किस तरह की समस्या हो सकती है।
"post-text" itemprop = "text"> आप उपयोग कर रहे हैं:
उत्तर। फ्लश (); लूप जो आपके स्ट्रीम को पढ़ रहा है। तो आप Response.OutputStream को लिख रहे हैं और आप अगली पंक्ति में प्रतिक्रिया की सफाई कर रहे हैं। पूरे स्ट्रीम को बाइट [] में पढ़ने की कोशिश करें, और कुछ भी लूप में निर्दिष्ट न करें।
जब आपका बाइट पूर्ण होता है, तो सामग्री को प्रतिक्रिया के लिए असाइन करें।
No comments:
Post a Comment