кажется, требуется. Без кодировки URI это не работает. Другими словами, base64, похоже, не является _POST безопасным.
я есть холст, на котором ты можешь рисовать. Мне нужно сохранить его содержимое на сервере, чтобы его можно было возобновить позже.
Для этого яxMLHttpReq.send(*)
encodeURIComponent(canvasP.toDataURL())*
черезxMLHttpReq.open("POST", url, false);
В моем PHP-скрипте я беру $ _POST иbase64_decode(json_decode($_POST[data]))
и я сохраняю его в файл .png на сервере.
СЕЙЧАС, это прекрасно работает, если на холсте есть небольшой рисунок. НО, если на холсте 1600x1200px нарисовано много материала, и он размером примерно 600 КБ, мой скрипт завершится неудачно, и я получу png на 0 КБ на своем сервере.
Как я могу это исправить? Как я могу отправить большой холст на сервер?
Является ли проблема ограничением размера _POST? Потому что, независимо от того, насколько большой холст, я всегда могу загрузить его черезwindow.open(canvasP.toDataURL(), "blabla");
.
Это довольно дилемма для меня. Любая помощь будет высоко ценится!
[EDIT] PHP просто получает пустой$_POST[data]
для чего-то более ~ 50 с чем-то кБ ... Так что проблема должна возникать междуcanvasP.toDataURL()
и пост-ин ...
[EDIT2] Браузер говорит «Загружается ... (xx%)», пока не будет «сделано». ТАК ГДЕ ИДЕТ ДАННЫЕ? : C
[EDIT3] Вот приложение, попробуйте сами (используйте Google Chrome):http://students.info.uaic.ro/~tudor.berechet/
[EDIT4] Кажется, что ответ Майка о сухозине правильный