【问题标题】:Safari 5 on Mac hangs on uploading filesMac 上的 Safari 5 在上传文件时挂起
【发布时间】:2011-06-24 17:47:21
【问题描述】:

我有一个用户正在使用最新版本的 OSX 和 Safari。当他尝试通过表单上传文件时,它挂起(微调器旋转)但没有发生任何事情。我做了一些研究,发现了这个:

http://airbladesoftware.com/notes/note-to-self-prevent-uploads-hanging-in-safari

这解决了以前版本的 Safari 中的问题,但显然不是 Safari 5。

我想知道是否有人对如何解决这个问题有任何想法?有人提到它与持久性 http 连接有关(因此上面的修复),我正在使用 PHP(但我认为这并不重要)。

【问题讨论】:

  • 是否可以显示一些代码?这会给出一种想法。
  • 奇怪的是,我在过去(通过 ZenPhoto 上传)注意到了这个问题,但只有在本地服务器上使用特定版本的 MAMP 时才注意到。我想知道它是否特定于 Apache 的某个版本,或者什么...

标签: php apache macos file-upload safari


【解决方案1】:

好吧,我发现在我的情况下,问题肯定取决于文件内容。上传特定的 JPG 文件时,它在 10 次尝试中失败了 8 次(Safari 5.5.1,但这是 IE 做得更好的极少数情况;-)。

当使用 Mac 的预览加载和导出 JPG 文件时,创建新的 JPG 修复了该问题。不幸的是,没有什么可以帮助解决问题,但也许值得给 Safari 用户一个提示。

【讨论】:

    【解决方案2】:

    我已成功发送连接:关闭标头以解决此问题。

    添加

     header("connection: close");
    

    到处理文件上传的代码。它似乎并没有 100% 地解决问题,但它肯定会改善它。请注意,它区分大小写:“连接:关闭”不起作用。

    【讨论】:

    • 嗨,Stephen,只是为了澄清一下,这是在 PHP 执行的最后放置的东西吗?
    • 不,它应该在任何地方工作,只要它在任何输出(即 echo 语句或退回到 HTML 模式)发生之前。
    • 这在一定程度上奏效了。我所做的是使用上面的标题作为上面引用的“ajax”调用。
    猜你喜欢
    • 2017-07-17
    • 2012-12-26
    • 1970-01-01
    • 1970-01-01
    • 2017-03-08
    • 1970-01-01
    • 2019-08-09
    • 1970-01-01
    • 2012-10-03
    相关资源
    最近更新 更多