2

私は、ビデオファイル(最大100MB)をアップロードできるようにするためにユーザーがダウンロードする特注のftpアプリを作成するように言われました。

  • 彼らはそれがばかげた証拠であることを望んでいます(つまり、コンピュータの知識がない人にとっては簡単です)。FileZillaのようなftpアプリをユーザー名とパスワードで設定するのは、ほとんどのユーザーにとって大変な作業になると思います。
  • クロスプラットフォーム(痛い)

確かに、ユーザーが巨大なファイルをアップロードできるようにする方法の問題に取り組んだのは私が最初ではありません。誰かが私に何かヒントを与えることができるかどうか疑問に思います。

4

8 に答える 8

1

(FTP である必要がありますか? FTP はファイアウォール、ASCII モードで問題があり、もちろんパスワードは平文です。)

多くの言語には FTP ライブラリが用意されており、少量の UI 接着剤と組み合わせて、独自のシンプルなアップローダ アプリを作成できます。たとえば、Python には標準ライブラリに ftplib があります。前回これを行ったのは、たとえば Pfau の ftplib を使用した C でしたが、アプリをインタープリターでパッケージ化するオーバーヘッドを気にしないのであれば、最新のスクリプト言語ははるかに簡単に記述できます。

タグに .NET があります... .NET の標準クラス ライブラリに FTP はありませんが、サード パーティのライブラリを自由にダウンロードできます。一方、あなたはクロスプラットフォームと言っているので、本当にクライアント上の .NET について話しているのかどうかはわかりません。

あなたができることは、アップロードの複数の手段を提供することです。たとえば、サイトに組み込まれた基本的な HTTP* ファイルのアップロード (誰もが使用方法を知っている) と、上級ユーザー向けの標準の [S?]FTP インターフェースなどです。 FTP クライアントを操作します。FTP クライアントの操作はそれほど難しいわけではありません。ftp :// URL を Windows エクスプローラーに貼り付けるように指示するだけで、ほとんどの人は問題なく使用できるはずです。

*: AJAX フィードバックを使用してアップロードの進行状況をユーザーに知らせるのが理想的です。また、Flash アップローダーを使用することもできます。また、アップロードの途中で中断しないように、サーバーのスクリプト タイムアウト ルールを無効または有効にすることを忘れないでください。HTTP アップロードは 100MB 程度のファイルには決して最適ではありませんが、ブラウザのデフォルトのかなりひどい無応答性を確実に改善することができます。

于 2008-10-18T11:37:51.923 に答える
0

どこにアップロードしますか?

全員にDropboxをインストールして、全員がアクセスできるビジネスアカウントから共有を作成することができます。

于 2008-10-18T10:55:20.980 に答える
0

ユーザーがユーザー名とパスワードを提供する必要がない場合は、シングルサインオン戦略について検討することをお勧めします。

于 2008-10-18T10:57:59.913 に答える
0

ありがとう、これは私がこれまでフォーラムで受けた中で最も包括的な回答だったと言わざるを得ません。

ボビンスが言及したような2つのルートを提案すると思います

1)SWFUpload(bh213)を使用したhttp、以前に使用したことがあります。セットアップは非常に簡単で、優れたユーザーエクスペリエンスを備えています

2) 次に、ftp オプションを提供します。ブラウザまたは filezilla のようなものを使用します。

于 2008-10-20T07:46:19.083 に答える
0

ユーザーが大きなファイルをアップロードする必要がある場合は、一種の再開機能があることを確認してください。

FTPは唯一のオプションですか?P2P (bittorrent) ベースの何かを実装できれば、大きなファイルのレジュームと整合性機能を得ることができます。

これは、グーグルのbittorentライブラリから得たような2つです

http://sourceforge.net/projects/libbt/

http://www.codeproject.com/KB/cpp/FTKernelAPI.aspx

于 2008-10-18T11:14:56.573 に答える
0

JS と HTML を使用してシンプルな Adob​​e Air アプリを構築するのはどうですか。現在、FTP ソケット機能があると思います。また、build in DB を使用して、送信先の詳細、小さなフットプリント、クロス プラットフォームを格納することもできます。また、最適と思われるもの (フラッシュ、フレックス、JS/HTML) で構築することもできます。

同様の要件があり、ソリューションに Adob​​e air と jQuery または Ext を使用することを検討しています。

于 2008-10-18T11:46:29.457 に答える
0

FTP ではありませんが、swfuploadを使用して HTTP 経由でファイルをアップロードすることができます。私たちは約のためにそれを使用しています。IIS で 100 MB のファイルをアップロードすると、かなりうまく機能します。

web.config で最大要求サイズを 100 MB 以上に設定する必要があることに注意してください...

于 2008-10-18T11:58:44.097 に答える
0

100MB ファイルのアップロードは、1KB ファイルほど複雑ではありません。受信者 (この場合はサーバー) がファイル全体をメモリに受信しようとしないことを確認する必要があります。サーバーはデータをすぐにディスクまたは db CLOB に書き込むことができます。サーバーは、ほとんどリソースを必要とせずに、入力ストリームから読み取り、出力ストリームに書き込みます。

于 2008-10-18T12:03:32.717 に答える