4

FtpWebRequestを使用して FTP サーバーから画像をダウンロードするサービス.NETがあります。同じ FTP サーバーに画像を保存するカメラがあります。

私のサービスが画像を見て、カメラが同じ画像の保存を完了する前にダウンロードしようとすると、画像の「まだ保存されていない部分」が灰色 (破損) で表示されます。

質問:イメージをダウンロードする準備ができている (完全に保存されている) かどうかを確認するにはどうすればよいですか?

4

3 に答える 3

1

送信サービスを制御できる場合は、マーカー ファイルを使用してこれを実装します。送信サービスが完了時に「.finished」ファイルを書き込むなどの場合、そのファイルが表示されるのを待つことができます。

ただし、カメラのソフトウェアを制御できないと思われます。特にインターネット接続が遅い場合、カメラがアップロードを完了したかどうかを検出する際にいくつかの問題があります。

ファイルサイズの変更を確認するのが最善の解決策だと思います。フォルダーを監視し、新しいファイルが表示されるかどうかを確認します。その後、ファイル サイズが 1 分間変化していない場合は、ファイルをダウンロードしても問題ありません。

于 2010-11-16T09:51:53.153 に答える
1

カメラ ソフトウェアが画像を別のディレクトリに保存するようにします (Dir1 としましょう)。ファイルをこのディレクトリから別のディレクトリ (Dir2 とします) に移動してみてください。

ファイルがまだカメラ ソフトウェアによって開かれている場合、移動は失敗するはずなので、完了した画像のみが Dir1 から Dir2 に移動されます。

Dir2 から画像をダウンロードします。

于 2010-11-16T09:54:09.740 に答える
0

大きなファイルの後に別の小さなファイルをアップロードします。小さなファイルを使用して「完全性」を確認します(または、その中のMD5も機能する可能性があります)。

于 2010-11-16T09:50:22.080 に答える