Помощь - Поиск - Пользователи - Календарь
Полная версия: Есть ли способ облегчить загрузку больших файлов через вебформы?
Онлайн-форум hostobzor.ru > Архив (темы до 1.06.2015). Только для чтения. > Коммерческий хостинг. Общие форумы > Общие вопросы
edogs
До 100мб с трудом, но пролазят. До 300мб через раз. Больше 500мб не удалось ни разу залить. Вдс(центос)/директадмин, сервер клиенту настраивал неизвестно кто и как.
Проблема решаема? Проблема типична?
eSupport.org.ua
Решаема, типична
Браузер умерает по таймауту
Ставить прогресс-бар загрузки, можно и через флеш
Денис
Проблема может банально заключаться в том, что стоит ограничение на размер файла на сервере в 300Мб. Либо директива LimitRequestBody в apache
edogs
Цитата(eSupport.org.ua @ 24.11.2008, 23:08) *
Решаема, типична
Браузер умерает по таймауту
Ставить прогресс-бар загрузки, можно и через флеш
Не уловили, можете пояснить? Если ставить прогресс-бар загрузки, это ведь будет другой коннект, дополнительный, разве нет? Если да, то как он помешает отвалиться основному по таймауту? Можно какую-то ссылку на описание схемы?

Денис, к сожалению лимиты стоят в 1-2гб вездеsad.gif
Boris A Dolgov
Спереди nginx+ngx_upload_module?
eSupport.org.ua
Прогресс-бар будет каждые N секунд рефрешить браузер, передавая статус
edogs
Цитата(eSupport.org.ua @ 25.11.2008, 09:49) *
Прогресс-бар будет каждые N секунд рефрешить браузер, передавая статус

Все аплоадеры с прогресс-баром которые мы видели действуют следующим образом: браузер одним коннектом с сервером передает файл. Одновременно с этим создает другое соединение, для доступа к информации о размере переданных данных файла. Не могли бы Вы уточнить, каким образом рефрешь второго соединения поможет не отвалиться первому? Или если Вы имеете ввиду аплоадеры действующие по другому принципу, не могли бы Вы дать ссылку на них?
edogs
Цитата(eSupport.org.ua @ 25.11.2008, 16:38) *
Ну, там браузер одним коннектом с сервером передает файл. Одновременно с этим создает другое соединение, для доступа к информации о размере переданных данных файла. Не могли бы Вы уточнить, каким образом рефрешь второго соединения поможет не отвалиться первому?
eSupport.org.ua
Не будет отвала по таймауту
edogs
Цитата(eSupport.org.ua @ 25.11.2008, 18:07) *
Не будет отвала по таймауту
Ну, спросим таки "юбилейный", 4-тый раз и последний раз. Почему из-за дополнительного коннекта не произойдет отвала по таймауту?
alexxxst
Цитата(edogs @ 25.11.2008, 22:36) *

Ну, спросим таки "юбилейный", 4-тый раз и последний раз. Почему из-за дополнительного коннекта не произойдет отвала по таймауту?


ну если дополнительное соединение пройдет по кипаливу в том же коннекте, то по идее отвала не будет по таймауту, но легко может быть отвл по любой другой ошибке smile.gif
eSupport.org.ua
Но это уже отвал будет по вине сервера а не клиента скорее всего
ridd
Вы скиньте ссылку на проект, которые использует Nginx+Progress Upload Module. Я вам его завалю за 5 секунд.
Оно не для продакшена.
Для передачи файлов советую swfupload 2.2.0 Beta 3.
Пока работает без нареканий. Есть еще yahoo uploader
Вобще лучше сделать один js в котором деградируете ваш загрузчик до безпрогресбарного, если у клиента нет флеша
edogs
Цитата(alexxxst @ 25.11.2008, 23:16) *
ну если дополнительное соединение пройдет по кипаливу в том же коннекте, то по идее отвала не будет по таймауту, но легко может быть отвл по любой другой ошибке smile.gif
Вы имеете ввиду, что если мы послали запрос бразуером постом и в том же окне после этого посылается новый запрос (допустим аяксом), то они пройдут в рамках одного соединения, несмотря на то, что это будут 2 разных коннекта?
alexxxst
Цитата(edogs @ 30.11.2008, 02:19) *

Вы имеете ввиду, что если мы послали запрос бразуером постом и в том же окне после этого посылается новый запрос (допустим аяксом), то они пройдут в рамках одного соединения, несмотря на то, что это будут 2 разных коннекта?


если браузер современный - то они пройдут в одном соединении, почитайте про KeepAlive, ну, например страница с кучей картинок, сокет не будет для каждой картинки свой открываться, будет использоваться один, если, конечно, веб-сервер и браузер оба поддерживают и по пути прокся не модифицирует заголовки.
Boris A Dolgov
Цитата(alexxxst @ 30.11.2008, 13:20) *

если браузер современный - то они пройдут в одном соединении, почитайте про KeepAlive, ну, например страница с кучей картинок, сокет не будет для каждой картинки свой открываться, будет использоваться один, если, конечно, веб-сервер и браузер оба поддерживают и по пути прокся не модифицирует заголовки.

Во время передачи тела одного запроса кипелайв передаст по тому же соединению другой запрос и получит ответ? blink.gif
Хочу такой кипелайф.
eSupport.org.ua
Keepalive messages were not officially supported in HTTP 1.0. In HTTP 1.1 all connections are considered persistent, unless declared otherwise. However, the default keepalive timeout of Apache2 httpd is as little as 15 seconds.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2025 Invision Power Services, Inc.