0

クライアントからファイルを収集する方法を探しています。これらのクライアントは私たちのソフトウェアを持っており、私たちは現在、それらからファイルを収集するためにFTPを使用しています。ファイルはクライアントのデータベースから収集され、暗号化されてFTP経由でFTPサーバーにアップロードされます。このプロセスには、欲求不満と障害が伴います。ソフトウェアは一般的なファイアウォールによってブロックされることが多く、VPNとNATで問題が発生することがよくあります(通常、アクティブではなくパッシブに切り替えると役立ちます)。

私の質問は、信頼できる方法でクライアントからプログラムでファイルを取得するために、他にどのようなアイデアがあるかということです。送信するファイルのほとんどは、サイズが1MB未満です。ただし、そのうちの1つは最大25MBのサイズです。

HTTP POSTを検討しましたが、25 mbのファイルが投稿をフェイルオーバーすることがよくあるのではないかと心配しています(ファイルが完全にアップロードされる前にWebサーバーがタイムアウトします)。

考え?

AndrewG

編集:一般的なWebテクノロジーを使用できます。共有ホストを使用しているため、中央構成の変更が困難になる可能性があります。私は一般的な使用法の観点からPHPに精通していますが、セットアップの観点からは精通していません(多くのコードを記述しましたが、あまりにも重い義務には慣れていません)。Ruby on Railsも可能です...しかし、私は最初から始めます。理想的には...インストールされたコードから最終的に移行する準備ができているので、それを行う「Web」方法を探しています。

4

3 に答える 3

0

あなたはおそらくaを意味しHTTP PUTます。それは魅力のように機能するはずです。まともなWebサーバーがある場合。しかし、私が知る限り、再起動できません。

FTP が正しい選択です (ファイアウォールを通過するためのパッシブ モード)。頻繁に VPN 接続の故障に直面する場合 (ホテルのネットワークはひどいものです :-))、再起動可能な転送をサポートする FTP サーバーを使用してください。

サポートする必要がある FTP コマンドはREST.

http://www.nsftools.com/tips/RawFTP.htmから:

Syntax: REST position

ファイル転送を開始するポイントを設定します。中断された転送を再開するのに役立ちます。非構造化ファイルの場合、これは単なる 10 進数です。RETRこのコマンドは、データ転送コマンド (またはSTORのみ)の直前にある必要があります。PORTつまり、コマンドまたはコマンドの後に来る必要がありますPASV

于 2009-10-27T22:49:39.127 に答える
0

1 つのオプションは、アップロードをチャンクに分割するブラウザで何かを実行することです。これにより、信頼性が向上することが期待されます。これを行うコントロールは、アップロードが進行するにつれて、単純な HTTP POST では得られないフィードバックをユーザーに提供します。

簡単な Googleは、まさにそれを行う無料の Java アプレットを見つけました。同じことを行う他の多くの無料および有料オプションがあります

于 2009-10-27T22:54:16.187 に答える