質問

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

  • 彼らはそれを馬鹿な証拠にしたい(つまり、コンピューターに詳しくない人にとっては簡単だ)。ユーザー名とパスワードを使用してFileZillaのようなftpアプリをセットアップすることは、ほとんどのユーザーにとって長すぎると思われます。
  • クロスプラットフォーム(ouch)

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

役に立ちましたか?

解決

(FTPである必要がありますか?FTPはファイアウォール、ASCIIモード、そしてもちろんパスワードはクリアされています。)

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

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

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

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

他のヒント

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

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

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

ユーザーが大きなファイルをアップロードする必要がある場合は、一種のレジューム機能が必要です。

FTPのみがオプションですか? P2P(ビットトレント)に基づいて何かを実装できる場合、大きなファイルの再開および整合性機能を取得できます。

ここでは、Googleのbittorentライブラリから取得した2つのようです

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

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

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

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

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

皆さんに感謝します。これは、これまでフォーラムで行った中で最も包括的な回答だったと言わなければなりません。

bobinceのような2つのルートを提案すると思います

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

2)ftpオプションを提供します。ブラウザまたはfilezillaなどを使用します。

JSとHTMLを使用して簡単なAdobe Airアプリを構築する方法DBのビルドを使用して、送信されたものの詳細、小さなフットプリント、クロスプラットフォームを保存することもできます。また、それを最適なもの(フラッシュ、フレックス、JS / HTML)でビルドできます。

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top