HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ipad – Mobile Safari可以生成多个视频请求大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_673_2@
我正在为iPad设计一个Web应用程序,该应用程序在移动Safari中使用HTML5。我通过运行.NET Framework v2.0的IIS 7上托管的ASP.NET .ashx文件手动传输文件

基本代码看起来部分是这样的

// If we receive range header only transmit partial file
if (context.request.Headers["Range"] != null)
{
    var fi = new FileInfo(filePath);
    long fileSize = fi.Length;

    // Read start/end index
    String headerRange = context.request.Headers["Range"].replace("bytes=","");
    String[] range = headerRange.Split('-');
    int starTindex = Convert.ToInt32(range[0]);
    int endIndex = Convert.ToInt32(range[1]);

    // Add header Content-Range,Last-Modified
    context.Response.StatusCode = (int)httpStatusCode.PartialContent;
    context.response.addheader(httpWorkerrequest.GetKNownResponseHeaderName(httpWorkerrequest.HeaderContentRangE),String.Format("bytes {0}-{1}/{2}",starTindex,endIndex,fileSizE));
    context.response.addheader(httpWorkerrequest.GetKNownResponseHeaderName(httpWorkerrequest.HeaderLastModified),String.Format("{0:r}",fi.CreationTimE));

    long length = (endIndex - starTindeX) + 1;
    context.Response.TransmitFile(filePath,length);
}
else
    context.Response.TransmitFile(filePath);

现在让我感到困惑的是协议,请求这个safari似乎使用。从代理请求通过fiddler我得到以下的aprox 2MB文件

注意:请求mp4文件时,直接通过IIS 7提供,协议和请求量是相同的

>首先它请求2个字节,它允许它读取“Content-Range”头。
>现在请求整个内容(?)
> –
>继续做第1步。再次(??)
> –
>它现在只要求文件的一部分(???)

如果文件较大,最后的步骤将会更多。我已经测试了最多99个请求,其中每个请求都包含文件的一部分等分。这是有道理的,是我认为的。我无法理解的是,为什么它会在最后2个字节的初始请求以及整个文件的2个请求之前,最终在不同的部分请求文件

当我得出结论,这个结果是在2 – 3次之间下载文件,这取决于文件的长度以及用户是否观看足够长的时间。

任何人都可以理解这种行为,也许可以解释我可以做什么来防止多次下载。谢谢。

@H_673_2@

解决方法

根据我对你的问题的评论,过去我有一个类似的问题。有一件事可以尝试,如果你有控制的服务器(我没有)是禁用gzip或文件的身份编码。我相信,在第一次请求整个内容(列表中的#2)时,它会使用gzip编码(压缩)来查询内容。也许您可以将IIS配置为不为gzip编码请求提供文件

这是关于这个问题的原始(未回答)问题:

MPMoviePlayerController not playing full length MP3

@H_673_2@ @H_673_2@
@H_673_2@
@H_673_2@

大佬总结

以上是大佬教程为你收集整理的ipad – Mobile Safari可以生成多个视频请求全部内容,希望文章能够帮你解决ipad – Mobile Safari可以生成多个视频请求所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。