DownloadCompleteEvent触发两次

问题描述

我有一个Windows窗体,该窗体允许用户选择文件名并下载。下载完成后,将触发下载完成事件,该事件将下载的文件解压缩并进一步处理。

downloadComplete事件似乎触发了两次,这导致两次解压缩操作发生。该事件会被触发两次吗?

下面是触发下载并处理下载完成事件的功能

$ curl https://my-source-of-json.com/list | jq -r '.records' | jq length
2
$ 

在处理下载的类中,download方法的实现如下:

Private Async Sub Btn_download_Click(sender As Object,e As EventArgs) Handles Btn_download.Click
        
        Dim fileNameRows As DataGridViewSelectedRowCollection = datagridview_cloudContent.SelectedRows
        Dim fileName As String
        Dim fileType As String = AWSGlobals.CONTENT

        For Each fileNameRow As DataGridViewRow In fileNameRows
            fileName = fileNameRow.Cells(0).Value.ToString() & ".zip"
            Try
                Await DownloadAsyncFile(fileName,fileType)
            Catch ex As Exception
                CSMessageBox.ShowError("Content Import Failed : ",ex)
            End Try
        Next
    End Sub


Private Function UnzipAndImport(filename As String) Handles s3obj.DownloadDone
        
        If Not System.IO.Directory.Exists(AWSGlobals.ContentPath & Path.GetFileNameWithoutExtension(filename)) Then
          
            Dim zipFilePath As String = diskPath & filename
            Dim zipFileArchive As ZipArchive = ZipFile.OpenRead(zipFilePath)
            Dim FullPathOfContent As String = diskPath
            ExtractToDirectoryOverWrite(zipFileArchive,FullPathOfContent,True)
            ImportExport.BatchImportContent(New ArrayList(New String() {Extractedpath}),objmanager)

        End If

    End Function

有人可以告诉我此实现是否导致仅下载一个文件时触发两次下载完成事件?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)