Я пытаюсь предоставить файл mp4 с помощью обработчика ashx, и он не работает на Iphone. Работает в Safari PC, хотя.
Я хочу, чтобы это работало (ясень):
<video width="100%" height="auto" controls=""><source type="video/mp4" src="play.ashx"></source></video>
Вместо (mp4):
<video width="100%" height="auto" controls=""><source type="video/mp4" src="play.mp4"></source></video>
Вот мой код:
public void ProcessRequest(HttpContext context)
{
context.Response.ClearContent();
context.Response.ClearHeaders();
var length = new System.IO.FileInfo(context.Server.MapPath("~/big_buck_bunny.mp4")).Length;
context.Response.CacheControl = "Public";
context.Response.AddHeader("Content-Length", length.ToString());
context.Response.ContentType = "video/mp4";
context.Response.WriteFile(context.Server.MapPath("~/big_buck_bunny.mp4"));
context.Response.Flush();
context.Response.Close();
}
Вот файл, который вы хотите загрузить: http://clips.vorwaerts -gmbh.de / big_buck_bunny.mp4
Причина, по которой я должен это сделать, заключается в том, что клиент хочет контролировать доступ к видео.
Информация Fiddler (только различия):
Запрос Iphone:
User-Agent: AppleCoreMedia/1.0.0.9A405 (iPhone; U; CPU OS 5_0_1 like Mac OS X; en_us)
Accept: */*
Range: bytes=0-1
Accept-Encoding: identity
Connection: keep-alive
Запрос Windows Safari
User-Agent: QuickTime/7.7.1 (qtver=7.7.1;os=Windows NT 6.1Service Pack 1)
Pragma: no-cache
Ответы идентичны