Показать сообщение отдельно
  #16 (permalink)  
Старый 20.10.2012, 00:04
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от Oleg_Antonov
Пробывал через ajax. У POST есть ограничения на размер передаваемого файла
Всмысле у Ajax-овых POST-запросов?
Сообщение от Oleg_Antonov
И к тому же base64 корявится (точно удаляются +, может и еще что-то)
Не совсем верно
Когда вы передаете через AJAX(чистым JS, не используя библиотек вроде jQUery) POST-запрос, то вы должны его верным образом закодировать.
http://htmlbook.ru/html/form/enctype
Если вы не закодировали данные в каком-то из вариантов, то сервер все равно будет пытаться раскодировать в соответсвии с заголовками и своими настройками.
Я практически уверен, что в вашем случае сервер просто взял и раскодировал символы + в символы пробела(остальные символы не были тронуты)
Сообщение от Oleg_Antonov
Как поступить в данной ситуации?
1) Проверить, правда ли AJAX-POST имеет то ограничение о котором вы говорите.
Просто сгенерите длинную строку в 20 мегабайт, из одних букв A, к примеру
И пошлите ее на сервер, и посмотрите, полностью ли ее принял сервер.
2) Создать форму.
Добавить в одно ее текстовое поле пришедший файл в base64
засабмитить форму в скрытый фрейм.
на сервере распаковать base64
3) посмотреть что есть во flash-е по этой задаче, как предложил dmitriymar
Ответить с цитированием