/ / कैसे मैं vb.net - vb.net, विज़ुअल-स्टूडियो-एक्सप्रेस में इंटरनेट से एक फ़ाइल (ज़िप) डाउनलोड करता हूं

मैं vb.net - vb.net, दृश्य-स्टूडियो-एक्सप्रेस में इंटरनेट से एक फ़ाइल (ज़िप) कैसे डाउनलोड करूं

विशेषज्ञों। मैं एक साधारण फ़ाइल डाउनलोडर (GUI के साथ) बनाने की कोशिश कर रहा हूँ। मैं Vb.net के लिए बहुत नया हूँ और मुझे इस बारे में कोई उपयोगी जानकारी नहीं मिली है। निराश, चूंकि स्निपेट मैं उपयोग करता हूं, ज्यादातर मामलों में, विभिन्न वर्ग हैं। इसलिए मेरे कुछ बुनियादी सवाल हैं:

  • मुझे क्या उपयोग करना चाहिए? HttpWebRequest/HttpWebResponse या FileWebRequest/FileWebResponse?
  • मैं कैसे बचाऊं ResponseStream एक फ़ाइल के लिए?
  • क्या मूल फ़ाइल जानकारी (आकार, विस्तार, आदि) प्राप्त करने के लिए फ़ाइल (FileInfo) वर्ग को परिभाषित करने के लिए ResponseStream का उपयोग करना संभव है
    • क्या यह आमतौर पर neccessary है, यदि GetResponse().headers आपको सबसे ज्यादा देता है इस जानकारी के?

मेरा कोड, जो बेकार है, क्योंकि मुझे नहीं पता कि बचत को कैसे महसूस किया जाए ...।

Private Sub btn_downloader_Click(ByVal sender...) Handles btn_downloader.Click
"e.g http://codeigniter.com/download.php"
Dim fileUrl As String = txtBox_url.Text
Dim webUri = New Uri(fileUrl)
Dim wReq As HttpWebRequest = WebRequest.Create(webUri)
Dim wRes As HttpWebResponse = wReq.GetResponse()
Dim resUri As Uri = wRes.ResponseUri
"to ckeck if http://codeigniter.com/download.php gives http://codeigniter.com/download_files/reactor/CodeIgniter_2.0.0.zip and it does!"
Dim resStream As Stream = wRes.GetResponseStream()

और अब मुझे फ़ाइल लिखने के लिए किसी एक स्ट्रीम विधि का उपयोग करना होगा (इस स्तर पर केवल स्ट्रीम के रूप में), लेकिन पता नहीं कैसे। मैंने इसे ट्यूटोरियल में देखा

resStream.Read(buffer, offset, count)

लेकिन मुझे पता नहीं है कि बफर क्या है और इसके लिए क्या है। क्या मुझे कुछ स्थिर मूल्यों या किसी गतिशील को सेट करना चाहिए जो स्ट्रीम-डेटा पर लागू होता है?

मदद चाहिए!

अनुलेख त्रुटिपूर्ण अंग्रेजी के लिए माफ करें

उत्तर:

जवाब के लिए 2 № 1

यदि आप इसे प्रगति पट्टी या कुछ भी है कि गति डाउनलोड, अनुमानित समय छोड़ दिया है, आदि के बिना जल्दी से ऐसा करने के लिए देख रहे हैं तो मैं सुझाव देता हूं WebClient.DownloadFileAsync or WebClient.DownloadFile। आपको माइम प्रकार को पढ़ने में सक्षम होना चाहिए WebClient.ResponseHeaders["content-type"] और फिर तदनुसार फ़ाइल का नाम बदलें।


जवाब के लिए 0 № 2

यह पूरा नहीं है लेकिन आपको सही दिशा में ले जा सकता है। "स्थान वह स्थान है जहाँ फ़ाइल सहेजना है ..

Public Function DownloadFile(ByVal URL As String, ByVal Location As String) As Boolean
Try
Dim WC As New WebClient
WC.DownloadFile(URL, Location)
Return True
Catch ex As Exception
Return False
End Try
End Function