Сообщение от 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