1

ビデオファイルをダウンロードとして返す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;
                }
4

1 に答える 1

1

注: 上記でリンクした Web サイトには、範囲固有のダウンロード要求をサポートするためにプラグインして使用できる MP4DownloadHandler を実装するためのコードがあります。このハンドラーを ServiceStack に登録する必要があります。したがって、この質問はもう関係ありません。

ただし、カスタム IHTTPHandler 内から ServiceStack をバイパスしたため、キャッシュ クライアントにアクセスする機能について (以下にリンク)、関連する質問があります。

サービススタックをバイパスして独自の IHTTPHandler を実装しましたが、キャッシュにアクセスしたい

于 2013-03-19T18:55:17.020 に答える