最大 2GB の大きなファイルをアップロードしたいというアプリケーションがあり、このファイルを処理した後、blobstorage に blob として保存したいと考えています。SWFUploader を使用してファイルをアップロードしています (プログレス バーを表示する必要があります)。
問題は、100 MB を超えるファイルをアップロードできないことです。最大 100 MB (場合によっては 90 ~ 95 MB) のファイルをアップロードすると、アップロード プロセス全体が再開され、失敗することもあります。このタスク全体で Webrole プロジェクトを使用しています。
だから私の質問は: Windows azure webrole プロジェクト (基本的にその Asp.net Web サイトなので、Web サーバーにファイルをアップロードしたい) にこのような大きなファイルをアップロードし、そこで処理してから blobstorage にアップロードできますか?
私の知る限りでは、次のことを行いました。
1: web.config で次のパラメーターを設定しました。
<security>
<requestFiltering>
<!--maxAllowedContentLength in bytes-->
<requestLimits maxAllowedContentLength="2147483648"></requestLimits>
</requestFiltering>
</security>
<httpRuntime executionTimeout="999999" maxRequestLength="2097152"/>
2: ASP.Net の既定の TMP/TEMP フォルダー (既定では 100 MB) を、次のコード スニペットを使用してローカル ストレージ リソースに作成した新しいフォルダーに変更しました。
この「CustomTempLocalStore」を次のように作成しました
<LocalStorage name="CustomTempLocalStore" cleanOnRoleRecycle="false" sizeInMB="1024" />
次に、webrole の onstart() メソッドで次のコードを設定して、このローカル ストレージ リソースを TMP/TEMP として使用するように設定します。
string customTempLocalResourcePath = RoleEnvironment.GetLocalResource("CustomTempLocalStore").RootPath;
Environment.SetEnvironmentVariable("TMP", customTempLocalResourcePath);
Environment.SetEnvironmentVariable("TEMP", customTempLocalResourcePath);
次のリンクでこれを見つけました: http://msdn.microsoft.com/en-us/library/dd573354.aspx
まだ機能していません.SWFUploaderは次のエラーを出しています:
サーバー(IO)エラー
何か案は?