我有一个Web客户端,可以下载Facebook视频,并且拥有它,以便用户可以取消下载,但是由于某些奇怪的原因,当我调用我的cancel方法并尝试下载另一个文件时,它什么也没做。就像cancel方法破坏了webclient一样,我在做什么错?它确实引发错误,我猜这是导致它损坏的原因...
我已经尝试了一切,但仍然不知道为什么会发生
这是数据下载完成时的代码。
Dim filedata As Byte() = e.Result
Dim datafile As String = save_path & "\" & facebook_id & ".mp4"
If cancelled = False Then
Notify.ShowBalloonTip(5000, "", "Video Successfully Downloaded!", ToolTipIcon.Info)
SMCT_Box.Text = ""
Else
Notify.ShowBalloonTip(5000, "", "Download Cancelled!", ToolTipIcon.Info)
End If
Using fileStream As FileStream = New FileStream(datafile, FileMode.Create)
fileStream.Write(filedata, 0, filedata.Length)
If File.Exists(datafile) Then
If cancelled = False Then
Tool_Tip.SetToolTip(Download_Button, "Download")
Download_Button.Text = "Download"
progress = 0
TaskbarManager.Instance.SetProgressValue(0, 100)
End If
End If
End Using
If cancelled = True Then
File.Delete(datafile)
cancelled = False
End If
If cancelled = False Then
If My.Settings.include_thumbnail = True Then
SaveThumbnail(thumbnail_link, thumbnail_id)
End If
If My.Settings.file_type = "mp3" Then
Dim message As String = "Converting Please Wait..."
MessageBox.Show(message, "Notice", MessageBoxButtons.OK, MessageBoxIcon.Information)
Dim converter As New Process
converter.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
converter.StartInfo.CreateNoWindow = True
converter.StartInfo.FileName = app_path & "\Converter.exe"
converter.Start()
converter.WaitForExit()
If converter.HasExited = True Then
If My.Settings.open_after_download = True Then
Process.Start(save_path & "\" & facebook_id & ".mp3")
End If
If My.Settings.create_backup = True Then
My.Computer.FileSystem.CopyFile(save_path & "\" & facebook_id & ".mp3", app_path & "\Backups\" & facebook_id & ".mp3")
End If
End If
Else
If My.Settings.create_backup = True Then
My.Computer.FileSystem.CopyFile(save_path & "\" & facebook_id & ".mp4", app_path & "\Backups\" & facebook_id & ".mp4")
End If
End If
If My.Settings.open_after_download = True Then
Process.Start(save_path & "\" & facebook_id & ".mp4")
End If
End If
这是cancel方法的代码。
cancelled = True
facebook.CancelAsync()
facebook.Dispose()
DGV.Rows.Remove(DGV.SelectedRows(rows - 1))
rows -= 1
Tool_Tip.SetToolTip(Download_Button, "Download")
Download_Button.Text = "Download"
Thumbnail_Box.Image = Nothing
Thumbnail_Error_Label.Visible = True
progress = 0
TaskbarManager.Instance.SetProgressValue(0, 100)