none
なぜかFTPでのダウンロードが途中で止まるようになってしまいました RRS feed

  • 質問

  • いつもお世話になっております。
    次のようなコードでFTPでファイルを正常にダウンロードできたのですか、なぜか(いつからかは不明)ダウンロードが途中で止まるようになってしましました
    原因がどうしてもわかりません。止まる場所は★です。
    ダウンロードの途中で止まるのですが、止まる位置は毎回異なります。
    たまに、すべてダウンロードできる時もあります。
    よろしくお願いいたします。
            Dim u As New Uri(ダウンロードするファイル) 'ダウンロードするファイルのURI
            Dim downFile As String = 保存先のファイル名 'ダウンロードしたファイルの保存先
    
            'FtpWebRequestの作成
            Dim ftpReq As System.Net.FtpWebRequest
            ftpReq = CType(System.Net.WebRequest.Create(u), System.Net.FtpWebRequest)
            ftpReq.Method = System.Net.WebRequestMethods.Ftp.GetFileSize
            ftpReq.Credentials = New System.Net.NetworkCredential(user, password) 'ログインユーザー名とパスワードを設定
            ftpReq.KeepAlive = True '要求の完了後に接続を閉じる
            ftpReq.UseBinary = False 'ASCIIモードで転送する
            ftpReq.UsePassive = True 'False'PASSIVEモードを無効にする
    	ftpRes = CType(ftpReq.GetResponse(), System.Net.FtpWebResponse)
    
             'ファイルをダウンロードするためのStreamを取得
            Dim resStrm As System.IO.Stream
            resStrm = ftpRes.GetResponseStream()
    
            Dim fs As System.IO.FileStream
            Dim buffer(1023) As Byte
    
           fs = New System.IO.FileStream(downFile, System.IO.FileMode.Create, System.IO.FileAccess.Write)
    
                While True
                    Dim readSize As Integer = resStrm.Read(buffer, 0, buffer.Length) '★ここで止まる
                    readed += readSize
    
                    wf.msg.Text = GetFormatByteSize(readed) & "/" & GetFormatByteSize(total)
                    wf.Refresh()
    
                    If readSize = 0 Then
                        Exit While
                    End If
                    fs.Write(buffer, 0, readSize)
                End While
    
            fs.Close()
            resStrm.Close()
            ftpRes.Close()

    2015年3月28日 5:58