2011-02-10 4 views
3

У меня есть пользователь, который использует последнюю версию OSX и Safari. Когда он пытается загрузить файл через форму, он зависает (вращение спиннера), но ничего не происходит. Я сделал некоторые Reasearch и нашел это:Safari 5 на Mac при загрузке файлов

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

Это исправлены проблемы в предыдущих версиях Safari, но, очевидно, не Safari 5.

мне было интересно, если кто-то имеет какие-либо идеи, как решить эту проблему? Было упомянуто, что это связано с постоянными HTTP-соединениями (таким образом, исправление выше), и я использую PHP (но я не думаю, что это имеет значение).

+0

можно ли показать код? это дало бы идею. –

+0

Как ни странно, я заметил эту проблему в прошлом (с загрузкой ZenPhoto), но только при использовании конкретной версии MAMP на локальном сервере. Интересно, насколько это специфично для версии Apache или что-то в этом роде ... –

ответ

1

У меня был определенный успех при отправке соединения: закрыть заголовок, чтобы решить эту проблему.

Добавить

header("connection: close"); 

к коду, который обрабатывает загрузку файлов. Он, похоже, не решает проблему на 100%, но, безусловно, ее улучшает. обратите внимание, что он чувствителен к регистру: «Соединение: закрыть» не будет работать.

+0

Привет, Стивен, просто для того, чтобы прокричать, это что-то, что нужно положить в конец выполнения PHP? – David

+0

Нет, он должен работать в любом месте, пока он до того, как произойдет выход (например, инструкции эха или возврат в режим HTML). – Stephen

+0

Это работало до некоторой степени. То, что я сделал, это использовать заголовок выше как вызов «ajax», упомянутый выше. – David

2

Ну, я узнал, что в моем случае проблема определенно зависит от содержимого файла. При загрузке определенного файла JPG он не работает в 8 из 10 попыток (Safari 5.5.1, но вот редкий случай, когда IE делает лучшую работу ;-).

При загрузке и экспорте файла JPG с помощью предварительного просмотра Mac, создающего новый JPG, проблема исчезает. К сожалению, ничего не помогает устранить проблему, но, возможно, стоит дать подсказку пользователям Safari.