1

次のことを行うための最良の方法を考えていました:

サーバーにファイルをアップロードしていますが、サーバーに保存したくありません。このファイルはビデオファイルであり、友人が視聴できるようにサイトにビデオを投稿したいユーザーによってアップロードされます。

フラッシュを使用することは実際には許可されていないため、アップロードコントロールとしてNeatUploadを使用していますが、フラッシュを使用することの議論が使用しないことの議論よりも大きい場合は、これが実行可能なオプションであると担当者を説得することができます。

したがって、ファイルがサーバー上のストリームに含まれると、FTP経由でストリーミングサーバーにアップロードし、そこで再生されます。

ユーザーを拘束せずにこれをftpにするにはどうすればよいですか?私はすでに彼らを私のサーバーに届けるのを待っていました、私は本当に待ち時間を2倍にしたくありません。

私はすでにアップロードとftpを実行するコードを作成しました。ユーザーを拘束せずにftpを実行する正しい方法を探しています。

4

2 に答える 2

0

個人的には、ASP.NET、データベース/ファイルシステムフォルダー、およびスケジュールされたタスクとして実行されているコンソールアプリケーションを組み合わせて使用​​しています。

ユーザーがアップロードするときに、ファイルを特別な「ピックアップ」フォルダーに配置し、オプションでデータベースエントリを生成します(ファイルだけでなく、より多くの情報を渡す必要がある場合)。

次に、ASP.NETの部分が完了します。

スケジュールされたタスク(たとえば5分ごと)として実行されているコンソールアプリケーションは、すべてのDBおよび/またはファイルシステムエントリを繰り返し、FTP経由で他のサーバーにアップロードし、処理後にファイルとDBエントリを削除することでそれぞれを処理します。

(おそらく、このソリューションは、テクノロジの観点から「貧乏人のソリューション」として批判されます(たとえば、Windowsサービスを使用しないことによる)が、私のプロジェクトでは、これは常にかなりうまく機能しました。)

于 2011-06-21T10:51:08.730 に答える
0

これは、スレッドビットを実行する方法です。

Stream stream = new MemoryStream();                
inputFileId.FileContent.CopyTo(stream);

ThreadPool.QueueUserWorkItem(delegate { SendViaFTP(inputFileId.FileName, stream); });
于 2011-06-21T11:22:28.210 に答える