我一直在开发iPad应用程序,该应用程序使用ASIHTTPRequest下载一些PDF文件.我一直在使用进度委托来为用户显示进度条,以显示文件的下载进度.这是ASIHTTPRequest设置代码.

request = [ASIHTTPRequest requestWithURL:url];

[request setShouldContinueWhenAppEntersBackground:YES];

[request setDownloadDestinationPath:issue.pdfFilepath];

[request setDownloadProgressDelegate:vc.progressView];

request.showAccurateProgress = YES;

[request setDelegate:self];

[request startAsynchronous];

从我的开发服务器(“好的服务器”)读取数据,所有这些工作都非常出色.但是,是时候将该应用程序的服务器端移到我的客户端的服务器(“不良服务器”)上了.我将所有内容移了过去,仍然能够成功下载PDF,但是在完成下载之前(而不是整个下载过程中)进度条不会更新.

这是我一直用于输出PDF的PHP:(请注意,我也在基于请求的URL在数据库中增加视图计数等,因此我不能直接从应用程序直接访问PDF.我需要从PHP脚本输出PDF.)

header('Content-type: application/pdf');

header('Content-Disposition:inline filename="downloaded.pdf"');

header('Content-Length: '.remote_filesize($pdfUrl) );

readfile($pdfUrl);

我已经能够确定该应用程序没有更新进度条,因为该应用程序最初不知道PDF的总大小.我已经通过在Safari中打开两个文件确定了这一点.

>打开“好服务器”的URL,状态栏显示“已完成1.4的20.3 MB”.

>打开“故障服务器”的URL,状态栏显示“已完成1.4 MB?”.

我已经检查过了,我的remote_filesize()函数在两台服务器上都返回21331445(约20 MB).

因此,我的结论是由于某种原因,即使我指定了“坏服务器”,它也无法正确设置Content-Length标头. php.ini文件中是否有任何设置可能会阻止这种情况?谁能提供任何其他建议进一步解决或解决此问题?

谢谢!

更新5/18/11

感谢AJ关于检查Firefox中标头的出色建议,我发现“不良服务器”正在使用gzip压缩,而不是设置我的Conent-Length.比较如下:

好的服务器

Server: Apache

X-Powered-By: PHP/5.3.3

Content-Disposition: inline filename="downloaded.pdf"

Content-Length: 21331445

Keep-Alive: timeout=15, max=100

Connection: Keep-Alive

Content-Type: application/pdf

200 OK

坏服务器

Server: Apache

X-Powered-By: PHP/5.2.17

Content-Disposition: inline filename="downloaded.pdf"

Vary: Accept-Encoding

Content-Encoding: gzip

Keep-Alive: timeout=10, max=30

Connection: Keep-Alive

Transfer-Encoding: chunked

Content-Type: application/pdf

200 OK

我发现一些文章建议通过确保php.ini文件中的“ output_buffering = Off”和“ zlib.output_compression = Off”来关闭gzip.不过是这种情况,两个服务器上的phpinfo()都显示output_buffering和output_compression已关闭.

我们当然在正确的轨道上.这里有什么建议为什么要被压缩?以及如何预防呢?

谢谢!

最终更新:已解决

基本上,我将以下内容添加到了.htaccess文件中,该文件关闭了gzip压缩功能.然后,我得到Content-Length标头和进度条.

SetEnv no-gzip dont-vary

非常感谢!

php显示服务器文件,php-无法显示从新服务器下载文件的进度(在以前的服务器上工作)...相关推荐

  1. linux下载文件夹到本地命令行,linux下载文件到本地命令,linux下载文件到本地命令 下载工具...

    linux下载文件到本地命令,linux下载文件到本地命令 下载工具 来源:互联网/编辑:佚名/时间:2020-09-08 在手机上看 扫一扫进入手机端 linux用户命令在哪个文件夹下 用 whic ...

  2. 前端将二进制数据流转为文件_前端通过二进制流下载文件

    JS下载文件两种方式总结: 下载文件主要分为两种形式,具体使用哪种方式取决于后台: 1.如果后台服务器的静态目录有可供下载的静态资源,后台接口返回文件路径,直接window.location.href ...

  3. java ftp获取文件夹大小,java 用FTPClient 下载文件时不显示总大小?解决方案

    java 用FTPClient 下载文件时不显示总大小? FTPClient ftp = new FTPClient(); ftp.setControlEncoding("utf-8&quo ...

  4. python下载文件加上日期_Python实现给下载文件显示进度条和下载时间代码

    本篇文章小编给大家分享一下Python实现给下载文件显示进度条和下载时间代码,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 该模块调用了三个库: 1. ...

  5. python下载文件的11种方式_Python下载文件的11种方式

    在本教程中,你将学习如何使用不同的Python模块从web下载文件.此外,你将下载常规文件.web页面.Amazon S3和其他资源. 最后,你将学习如何克服可能遇到的各种挑战,例如下载重定向的文件. ...

  6. JAVAScript把把文件数据保存到本地(下载文件)

    // <input type="file" name="file" id="file"/> let fileEl = docum ...

  7. php 当前页面下载文件,php实现当前页面点击下载文件的简单方法

    php实现当前页面点击下载文件的简单方法 发布于 2017-08-02 17:44:21 | 80 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hypertext ...

  8. python3下载文件-使用Python 3从网上下载文件

    小编典典 如果要将网页的内容转换为变量,则只需read响应urllib.request.urlopen: import urllib.request ... url = 'http://example ...

  9. xshell下载mysql到本地文件_在Xshell中上传下载文件到本地(linux中从多次ssh登录的dbserver里面的文件夹)-Go语言中文社区...

    在Xshell中上传下载文件到本地(linux中从多次ssh登录的dbserver里面的文件夹) 1 列出所有需要copy的sh文件 -bash-4.1$ ll /mysqllog/osw/*.sh ...

  10. java上传和下载文件代码_JavaWeb中上传和下载文件实例代码

    一丶先引入上传下载的lib 二丶上传的的servlet package com.test.action; import java.io.file; import java.io.fileoutputs ...

最新文章

  1. 关于line-height的一些理解
  2. 几个常用的文本处理shell 命令:find、grep、xargs、sort、uniq、tr、cut、paste、wc、sed、awk
  3. AB1601 PWM模块
  4. 计算机网络基础必备(三次握手,四次握手,以及HTTP协议相关)
  5. 它有什么本事,能成为Apache基金会项目?阿里移动前端开源框架Weex揭秘 移动开发...
  6. 由.def文件生成lib文件[转]
  7. 系统页面升级系统中_中交出行通勤班线系统全新升级!页面亮点功能说明
  8. 如何系统地自学python~知乎_经验分享 | 如何系统地自学 Python?
  9. java pdf文件压缩_PDF文件压缩转换教程
  10. Java 算法 能量项链
  11. 【共生性】CVPR 2019:Multi-Label Image Recognition with Graph Convolutional Networks
  12. 以前是传xml的吗_关于XML:新手入门.
  13. lldp协议代码阅读_LLDP - 小蚂蚁_CYJ - 博客园
  14. 互动快报读报软件绿色版 v5.061
  15. 群体遗传学-选择消除分析
  16. win10九月十五更新补丁导致共享打印机无法连接
  17. python混合编程,so库、jar包、pyppeteer
  18. 经典BBS语录2007贺岁版
  19. Clickhouse 函数基础入门
  20. 新瑞鹏“狂飙”,宠物医疗是门好生意吗?

热门文章

  1. 关于空指针(指针指向为NULL)和void类型的指针的理解
  2. 解决360浏览器偶发性会闪屏一下黑色的背景
  3. 京东广告典型源码示例二
  4. leetcode-386 字典序排数
  5. 进程间通信--命名管道
  6. Linux命令find的35个实例
  7. 使用CEfSharp之旅(7)CEFSharp 拦截 http 请求 websocket 内容
  8. ucos-iii串口用信号量及环形队列中断发送,用内建消息队列中断接收
  9. 洛谷 3519 bzoj 2213 Difference
  10. 生成器/迭代器 和 函数的递归