私はビデオをホストするアプリケーションを持っており、最近Azureに移行しました。個々の紺碧のBLOBリクエストにコンテンツの配置を設定するには?
以前のアプリケーションでは、ユーザーがビデオを再生またはダウンロードできるようにしました。しかしAzureでは、コンテンツ処理をファイルに設定する必要があり、要求には設定しないで、必要な機能を選択する必要があるようです。
これまでのところ、私は2つの非常に貧しい解決策を考え出しました。
最初の解決策は、MVCサーバー経由でダウンロードをストリーミングすることです。
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(ConfigurationManager.AppSettings["StorageConnectionString"]);
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
CloudBlobContainer container = blobClient.GetContainerReference("videos");
string userFileName = service.FirstName + service.LastName + "Video.mp4";
Response.AddHeader("Content-Disposition", "attachment; filename=" + userFileName); // force download
container.GetBlobReference(service.Video.ConvertedFilePath).DownloadToStream(Response.OutputStream);
return new EmptyResult();
このオプションは、小さな動画のために大丈夫動作しますが、それは非常に私のサーバー上で課税されます。より大きいビデオの場合、操作はタイムアウトします。
第2の選択肢は、すべての動画を2回ホスティングしています。
このオプションは明らかに悪いです。ストレージコストを2倍にしなければならないからです。