powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Отправка нескольких clob через ajax
9 сообщений из 9, страница 1 из 1
Отправка нескольких clob через ajax
    #38960116
Casufi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть необходимость оправить несколько файлов в фоне на сервер, обычный htmldb_Get + get.addParam не дает возможности отправить на сервер больше 32К данных в одной переменной, нужно использовать apex.ajax.clob()

Нашел в сети вот такой способ http://www.talkapex.com/2012/08/how-to-sendupload-clob-from-browser-to.html

У этого способа есть существенный недостаток, функция, которая переносит клоб из коллекции в нужную таблицу выполняется в колбеке, асинхронно, тоесть загрузку следующего клоба нужно запускать только после того, как отработает функция - колбек загрузки.
Сейчас я решил это следующим образом - base64 образы файлов, которые нужно отправить записываю в массив, в функции - калбеке удаляю первую строку из массива и рекурсивно вызываю clobObj._set( , который отправляет первую строку на сервер, и так до тех пор пока массив не опустеет.

Может есть более красивый способ отправки нескольких clob?
...
Рейтинг: 0 / 0
Отправка нескольких clob через ajax
    #38961080
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Casufi,
В итоге что необходимо? Загрузить все clob'ы?
Я переписал функцию apex.clob(), для того чтобы коллекцию называть как мне вздумается, пойдет?
...
Рейтинг: 0 / 0
Отправка нескольких clob через ajax
    #38961138
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Casufi,

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
function (aCollName, aElement, aSubmit) {
	var a = $s_Split($v(aElement), 4e3);
	var ajaxRequest = new htmldb_Get(null, $v("pFlowId"), "APPLICATION_PROCESS=APP_COLLECTION_CLOB", $v("pFlowStepId"));
	for (var d = 0, e = a.length; d < e; d++) ajaxRequest.addParam("f01", a[d]);
	ajaxRequest.addParam("p_widget_action", "saveClob");
	ajaxRequest.addParam("x01", aCollName);
	ajaxRequest.GetAsync(function(pResponse) {
		if (p.readyState == 4 && p.status == 200){
			$s(aElement,"");
			if (aSubmit) apex.submit(aSubmit);
		};
	});		
};



Спрашивай, если что то нужно пояснить будет.
...
Рейтинг: 0 / 0
Отправка нескольких clob через ajax
    #38961192
Casufi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangel,

хитро
...
Рейтинг: 0 / 0
Отправка нескольких clob через ajax
    #38961266
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Casufiblkangel,

хитр
о
По идее можно 50 отправить сразу. Но тут уже от задачи зависит. Там есть свои ньюансы.
Как собрать clob в pl/sql видимо не надо...
Кстати можно и без коллекций, напрямую в таблицы писать.
...
Рейтинг: 0 / 0
Отправка нескольких clob через ajax
    #38961450
Casufi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А на стороне сервер "f01" читается гарантировано в той же последовательности как и добавляется ? От размера порции не зависит, проблем не отгребал ?
...
Рейтинг: 0 / 0
Отправка нескольких clob через ajax
    #38961609
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CasufiА на стороне сервер "f01" читается гарантировано в той же последовательности как и добавляется ? От размера порции не зависит, проблем не отгребал ?
f01 с индксами же передается. Проблем не было.
С ограничениями уже Апача и Тамката ты можешь столкнутся
У Томката ограничение в два мега по умолчанию, его надо увеличивать.
...
Рейтинг: 0 / 0
Отправка нескольких clob через ajax
    #38961612
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CasufiА на стороне сервер "f01" читается гарантировано в той же последовательности как и добавляется ? От размера порции не зависит, проблем не отгребал ?
Тестировал 10 мегабайт RichTextEdit вливал, все без проблем.
...
Рейтинг: 0 / 0
Отправка нескольких clob через ajax
    #38961814
Casufi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangelУ Томката ограничение в два мега по умолчанию, его надо увеличивать.
C этим уже разбирался при импорте приложения
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Отправка нескольких clob через ajax
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]