تنزيل الملف عبر System.Net.WebClient لا يعمل
-
12-12-2019 - |
سؤال
لا أستطيع تحميل أي ملف بالكود التالي:
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
DownloadFile("http://mirror.switch.ch/ftp/mirror/videolan/vlc/2.0.3/vlc-2.0.3.tar.xz", "C:\TEST\vlc-2.0.3.tar.xz")
End Sub
Public Sub DownloadFile(ByVal _URL As String, ByVal _SaveAs As String)
Dim _WebClient As New System.Net.WebClient()
_WebClient.DownloadFile(_URL, _SaveAs)
End Sub
ستظهر الأخطاء التالية:(مترجم من الألمانية إلى الإنجليزية):
من النافذة المنبثقة لخطأ Microsoft:
==> ظهر استثناء غير معالج من النوع "System.Net.WebException" في System.dll.
وعند المصحح:
==> الاستثناء:أثار:"تم تحديد وسيطة غير صالحة" (System.Net.Sockets.SocketException) تم تشغيل System.Net.Sockets.SocketException."تم تحديد وسيطة غير صالحة"
الكود الكامل:
Imports System
Imports System.Net
Public Class Form2
Dim str_hd As String
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
For Each drive As System.IO.DriveInfo In My.Computer.FileSystem.Drives
Dim dbl_capacity As Double
Dim dbl_free As Double
Dim dbl_used As Double
If drive.IsReady Then
dbl_capacity = drive.TotalSize / 1073741824
dbl_free = drive.TotalFreeSpace / 1073741824
dbl_used = dbl_capacity - dbl_free
dbl_capacity = Fix(dbl_capacity * 1) / 1
dbl_free = Fix(dbl_free * 10) / 10
dbl_used = Fix(dbl_used * 10) / 10
str_hd = str_hd & "Laufwerk " & drive.Name & " - " _
& drive.VolumeLabel & vbCrLf _
& "Benutzt: " & dbl_used & " GB" & " / " & dbl_capacity & " GB" & vbCrLf & "Frei: " _
& dbl_free & "GB" & vbCrLf & "-------------------------------" & vbCrLf
End If
Next
txtbox_hd.Text = str_hd
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Form1.Close()
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
DownloadFile("http://www.aerztekammer-hamburg.de/berufsrecht/Berufsordnung.pdf", "C:\TEST\Berufsordnung.pdf")
End Sub
Public Sub DownloadFile(ByVal _URL As String, ByVal _SaveAs As String)
Dim _WebClient As New System.Net.WebClient()
_WebClient.DownloadFile(_URL, _SaveAs)
End Sub
End Class
المحلول
هل المجلد C:\TEST
يخرج؟ومن التوثيق أيضاً:
عند استخدام هذه الطريقة في تطبيق من الطبقة المتوسطة، مثل صفحة ASP.NET، ستتلقى خطأ إذا كان الحساب الذي يتم تنفيذ التطبيق من خلاله ليس لديه إذن للوصول إلى الملف.
Wenn Sie diese Methode in einer Anwendung der Middle-Tear verwenden, z.ب.على موقع ASP.NET، يمكنك الاشتراك في حساب واحد، بعد أن يتم تقديم المساعدة لهم، لا مزيد من التحقق من صحة البيانات.