Постване на голямо количество информация с jQuery / Ajax

semprom

Registered
Здравейте.
Имам стринг, голям около 10 MB, който трябва да се подаде към php скрипт. Представлява base64 кодирани изображения. Как да го направя най-добре? Да щади хем потребителя да не му забива браузъра, хем да не товари много сървъра при постването.
Имам идея да разделя стринга на 3 примерно и да постна 3те части по отделно. Сещам се единствено този начин: за поствам 1вата част, после ако е успешно, поствам втората част, и ако и тя е успешно поствам и третата част, ноо така мисля че става тъпо.
Вие какъв акъл бихте ми дали?

Благодаря.
 
Записвай изображението на сървъра с дадено уникално генерирано име. След това работиш с това име. Когато ти трябва изображението задаваш пътя до image директорията(примерно) + името на файла, който ти трябва.
 
Fakeheal каза:
Защо я правиш тази гимнастика?

Коя гимнастика? Стринга се генерира от toDataUrl и искам да запазя изображенията генерирани на сървъра. Просто не мога да измисля удачен начин, за това питам тук за акъл.

Благодаря.
 
Абсолютно безсмислено е това което правиш.

Ако изображенията идват от форма:

1. Предаваш post-a през ajax на .php файл за да обработи поста.

2. В този PHP файл взимаш $_FILES[] и през gd lib (примерно) записваш изображението на сървъра с уникално генерирано име(ти ще го генерираш).

3. Като информация от PHP накрая направи да се върне информация обратно в JS заявката, това става след изпълнението на PHP кода изкараш едно echo $path; този $path ще ти държи вече пътят на изображението качено в сървъра. Ако използваш за прехвърлянето на информацията json, трябва в echo да го напишеш: echo json_encode(array('path' => $path));

4. Този $path ще може да го използваш да го запишеш в базата данни. Да се използва някъде и за нещо друго в страниците и т.н.

5. Това имах аз предвид. Защото има разлика между 10мб стринг и 100байта стринг. Доста по гъвкаво и оптимизирано е нали?

На вярно fakeheal е имала това предвид.
 

Back
Горе