मैंने इस प्रश्न को अन्य साइटों पर देखा है लेकिन दिए गए उत्तरों ने हमेशा मेरे लिए किसी प्रकार का अपवाद किया है, इसलिए मैं इसे अपने कोड का उपयोग करके स्वयं पूछूंगा।

मैं एक फ़ाइल डाउनलोड करने के लिए एक प्रोग्राम बनाने की कोशिश कर रहा हूं और ऐसा करते समय एक प्रगति पट्टी प्रदर्शित करता हूं।

माई कोड सो फार

  Private Sub AdwCleanerButton_Click(sender As Object, e As EventArgs) Handles AdwCleanerButton.Click
    My.Computer.Network.DownloadFile(
    "https://www.dropbox.com/s/gg3ocih2dv3t3lg/adwcleaner_6.020.exe?dl=0",
    "C:\Users\llexl\Desktop\adwcleaner_6.020.exe")
End Sub

मैं डाउनलोड का प्रतिशत एक प्रोग्रेसबार पर प्रदर्शित करना चाहता हूं।

0
Shayna 25 सितंबर 2016, 00:42
क्या आप स्पष्ट कर सकते हैं कि आपका प्रश्न वास्तव में क्या है? यह अभी स्पष्ट नहीं है।
 – 
Pekka
25 सितंबर 2016, 01:00

1 उत्तर

सबसे बढ़िया उत्तर

कम से कम कोड के साथ ऐसा करने का सबसे आसान तरीका डाउनलोडफाइल की अंतर्निहित प्रगति पट्टी का उपयोग करना है, यह प्रगति पट्टी और रद्द बटन के साथ अपनी छोटी विंडो दिखाएगा। आपको अपने कोड में केवल निम्नलिखित पैरामीटर जोड़ने होंगे:

My.Computer.Network.DownloadFile("https://www.dropbox.com/s/gg3ocih2dv3t3lg/adwcleaner_6.020.exe?dl=0", _
                                 "C:\Users\llexl\Desktop\adwcleaner_6.020.exe", "", "", True, 500, True)

गंतव्य फ़ाइलपथ के बाद आप जो पहला ट्रू देखते हैं, वह पैरामीटर है जो एक प्रोग्रेसबार विंडो बनाता है।


हालाँकि, यदि आप फ़ाइल के कुल आकार को क्वेरी करना चाहते हैं और अपने स्वयं के प्रगति-बार को लागू करने के लिए पूरे डाउनलोड में इसकी प्रगति प्राप्त करना चाहते हैं, तो प्रक्रिया थोड़ी अधिक जटिल हो जाती है। डाउनलोड की प्रगति-परिवर्तित घटना को संभालने के लिए आपको एक ईवेंट-हैंडलर बनाना होगा, और फिर प्रगति में प्राप्त बाइट्स की संख्या को प्रतिशत में परिवर्तित करना होगा और उस प्रतिशत को अपने प्रोग्रेसबार पर लागू करना होगा ... फिर, आपका डाउनलोड कोड दिखेगा पसंद:

Dim url As String = "https://www.dropbox.com/s/gg3ocih2dv3t3lg/adwcleaner_6.020.exe?dl=0"
Dim savePath As String = "C:\Users\llexl\Desktop\adwcleaner_6.020.exe"
Dim download As New WebClient()
AddHandler download.DownloadProgressChanged, AddressOf Download_ProgressChanged
download.DownloadFileAsync(New Uri(url), savePath)

और आपका प्रगति-परिवर्तित हैंडलर:

Public Sub Download_ProgressChanged(ByVal sender As Object, ByVal e As System.Net.DownloadProgressChangedEventArgs)
    Try
        ProgressBar1.Value = CInt(Math.Round((e.BytesReceived / e.TotalBytesToReceive) * 100, 0, MidpointRounding.AwayFromZero))
    Catch ex As Exception
        Debug.Print(ex.ToString)
    End Try
End Sub

लेकिन आप डाउनलोड प्रोग्रेस ऑब्जेक्ट से फ़ाइल का कुल आकार प्राप्त कर सकते हैं या नहीं, यह उस डेटा पर निर्भर करता है जो फ़ाइल के शीर्ष में है, इसलिए इसमें से हमेशा कोई संख्या नहीं दी जाती है। प्रगति प्रतिशत गणना में उपयोग करने के लिए डाउनलोड करने से पहले आपको फ़ाइल का आकार प्राप्त करने के लिए उपयोग करने के लिए एक वैकल्पिक फ़ंक्शन देखने की आवश्यकता हो सकती है। मेरा मानना ​​​​है कि ड्रॉपबॉक्स में एक एपीआई है जिसका उपयोग आप उस प्रकार की जानकारी प्राप्त करने के लिए कर सकते हैं

3
soohoonigan 25 सितंबर 2016, 04:13