2017-12-21 11 views
1

ファイルアップロードからファイルInputStreamを取得する方法を理解しています。ASP.NET MVC 4サーバーのメモリを完全に埋める前にファイルの入力ストリームを取得する

これは小さいファイルでは問題ありませんが、大きなファイル(1 GB以上)をアップロードしようとするとどうなりますかと心配です。 HttpContext.Request.GetBufferlessInputStream(true)を使用して解決策を見つけましたが、このストリームにはアップロードファイルだけでなく、Azure Blobストレージなどのファイルをアップロードするために使用すると、要求がすべて含まれています。私はまた、ファイルに関するすべての情報(ファイル名、サイズなど)を失います。

大きなファイルをメモリに保存せずにサーバーにアップロードする便利な方法はありますか?私は、ストリームを取得し、チャンク内の任意の場所にファイルをアップロードするために使用したいと思います。

ありがとうございます。

答えて

1

私はDevExpress UploadControlを使用して同様のタスクを行いました。 large file upload by chunksをサポートしています。一時ファイルはサーバーのハードドライブに保存され、サーバーメモリに完全にロードされていない状態でFileSteamを使用して取得できます。 Azure、Amazon、Dropboxにはdirect uploadも対応しています。 MVCアップロードコントロールでも同じことが言えます。