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

注意:我上面链接的网站有实现 MP4DownloadHandler 的代码,可以插入并用于支持特定范围的下载请求。您必须使用 ServiceStack 注册此处理程序。所以这个问题不再相关。

我确实有一个相关的问题(链接如下),现在我已经从我的自定义 IHTTPHandler 中绕过了 ServiceStack 访问缓存客户端的能力。

我绕过了servicestack来实现我自己的IHTTPHandler,但现在我想访问缓存

于 2013-03-19T18:55:17.020 回答