WinInetのFtpGetFileに関してですが、下記に記述する感じでコーディングしてるのですが
ファイルが完全にダウンロード出来ていない(中途半端なデータ)状態でも
後続のErr.LastDllErrorで「0」が返ってきてしまうことはあるのでしょうか?
よくWebからソフト等をダウンロードする時に、中途半端なデータのみしか
取得出来ていないが正常終了するパターンがあるので心配しております。
FTPに詳しい方是非教えてください。
またそういった状態が起きうる場合、get元のファイルサイズと
get後のファイルサイズを比較して確認しようと思いますが、
ネットワーク越しのファイルサイズって取得出来るのですか?
現在、調査中ですが、ご存知の方がいらっしゃえばアドバイスをください。
宜しくお願い致します。
【VB6.0,FTPサーバ:NT,クライアント:2000です】
lngRet = FtpGetFile(lngFtphnd, bytFtpBuff(0), bytLclBuff(0), 1, FILE_ATTRIBUTE_NORMAL, _
FTP_TRANSFER_TYPE_ASCII Or INTERNET_FLAG_RELOAD, 0)
If Err.LastDllError = 0 Then
GET成功
Else
GET失敗
リトライ処理
End if
>ファイルが完全にダウンロード出来ていない(中途半端なデータ)状態でも
>後続のErr.LastDllErrorで「0」が返ってきてしまうことはあるのでしょうか?
可能性は有りますね。
>ネットワーク越しのファイルサイズって取得出来るのですか?
もちろん出来ます、色々方法は有りますが取りあえず。
FtpFindFirstFileとInternetFindNextFileを使って
WIN32_FIND_DATAユーザー定義型で取得可能。
ねろさんご回答有難うございます。
>可能性は有りますね。
→やっぱり可能性はありますよね・・・。
やはりコンペアをしないと駄目みたいですね。
>FtpFindFirstFileとInternetFindNextFileを使って
>WIN32_FIND_DATAユーザー定義型で取得可能。
→WIN32_FIND_DATAユーザー定義型?
そんな型あるんですね。
初心者発言ですいません。
Webで調べてみます。
ツイート | ![]() |