ビデオファイルをダウンロードとして返すServiceStackサービスがあります。これを実現するコードは以下のとおりです。iOSを除くすべてのデバイスで動作します(ビデオが再生されます)。調査の結果、「範囲固有の」リクエストをサポートするには、httphandlerをカスタマイズする必要があるようです。この問題の説明は、次のURLにあります。
http://dotnetslackers.com/articles/aspnet/Range-Specific-Requests-in-ASP-NET.aspx
範囲固有のリクエストをサポートするようにServiceStack(および以下のダウンロードコード)をカスタマイズできるかどうか疑問に思っています。ありがとうございました。
if (fi.Exists)
{
//optimized way according to mythz
var aspRes = (System.Web.HttpResponse)base.RequestContext.Get<IHttpResponse>().OriginalResponse;
//aspRes.ContentType = "application/octet-stream";
aspRes.ContentType = "video/mp4";
aspRes.AppendHeader("Content-Disposition", "attachment; filename=" + fi.Name);
aspRes.AddHeader("content-length", fi.Length.ToString());
aspRes.TransmitFile(fi.FullName);
return null;
}