• 🚨 29 мая стартует курс «Пентест Active Directory: от теории к практике» от Академии Кодебай

    🔍 Изучите реальные техники атак на инфраструктуру Active Directory: от первоначального доступа до полной компрометации.
    🛠️ Освойте инструменты, такие как BloodHound, Mimikatz, CrackMapExec и другие.
    🧪 Пройдите практические лабораторные работы, имитирующие реальные сценарии атак.
    🧠 Получите знания, которые помогут вам стать востребованным специалистом в области информационной безопасности.

    После старта курса запись открыта еще 10 дней Подробнее о курсе ...

Upload file from lotus to sql

swyatogor

Green Team
24.02.2014
588
24
Добрый день..
Собственно ломаю голову над сабжем..
Есть пусть получить файл как атач выложить его на диск и потом через стрим вычитать и передать в SQL.. Пытаюсь найти способ короче (без выкладывания на диск).. Что то не получается найти необходимые функции..
Хотел попользоваться getValueCustomDataBytes - ругается - тип данных не совпадает.. что ей пихнуть не понятно((
Подскажите в какую сторону копнуть кто знает..
 
сомневаюсь, что ошибка типов. Вероятно ошибка, что для атачей вышеупомянутый метод не работает.
 
стрим для аттача нужен?
 
я с джавой ни бельмес.. потому хз.. если бы все было на LS то траблов бы не было..
 
на LS ты не сделаешь. Java надо осваивать.
На Java можно попробовать так:
Java:
EmbeddedObject att = doc.getAttachment("logo.gif");
InputStream is = att.getInputStream();
ByteArrayOutputStream fos = new ByteArrayOutputStream();
byte buffer[] = new byte[(int) att.getFileSize()];
 
int read;
do {
read = is.read(buffer, 0, buffer.length);
if (read > 0) {
fos.write(buffer, 0, read);
}
} while (read > -1);
 
fos.close();
is.close();
// recycle the domino variables
doc.recycle();
db.recycle();
att.recycle();
Но даже тут по сути будет детач, но прозрачно для разработчика
 
Последнее редактирование модератором:
https://codeby.net/threads/57017/#post-258845 там много чего
в т.ч. дергание файлов из потока...
если не сохранять на диск - можно сразу в др. стрим передавать
см. агент testSAXForFiles
там на пайпах, в 2-ух нитях, без промежуточных файлов
достаточно переписать, для своего варианта, консьюмер

забыл... - используется старая модель SAX - переписывать было лень
коротко:
-из дока получаем в поток doc.generateXML(bw)
-поток через pipe передаем
Java:
			PipedInputStream in = new PipedInputStream();
			final PipedOutputStream out = new PipedOutputStream(in);
			thread1 = new NotesThread(new DataSource(doc, out));// new FileOutputStream("./out.dxl")));
			thread1.start();
			thread2 = new NotesThread(new DataConsumer(in));// new FileInputStream("./out.dxl")));
			thread2.start();
-в консьюмере обрабатываем как InputStream
 
Последнее редактирование модератором:
Честно - не совсем понятно для чего такое делать.
 
если по БД, выше...
была древняя идея (не моя, там и ссылка есть) "упростить" общение с SAX
данный подход - тоже калбэки, но по инъекции конкретных классов, что удобнее написание портянки свича
про пайпы - экономия памяти и времени обработки (байтэррэй дублирует все что скачали с сервера еще раз в памяти), а время экономится асинхронностью (не ждем получения всего стрима, теоретически)
можно произвести замеры, но у меня "не дошли руки"
 
А если ко мну - то стоит задача - сделать возможность запускать бизнес-процесс в 1С из Lotus)))
 
@swyatogor, what?
Вы в аттаче что держите то? Может не надо его в 1С тянуть?
Что за бс в 1С? (у нас тут сделали odin ass... много хорошего могу сказать про исполнителей)
 
@savl, На сколько я могу знать в 1с встроенная система бизнес процессов (может наши что допиливали еще - хз). там красявость есть - визуализированная структура бизнес-процесса с указанием на какой стадии находится процесс (сколько я не думал как это сделать на клиенте лотуса ни как(().. уже года 4 работает.. вроде норм..
Тащить нуно.. нужно чтобы процессы шли синхронно и в 1с и в лотусе))) и у пользователей была возможность выбора - через какую программу с этим работать).. как то вот так)
 
@lmike, так клиент же, не страница... Хотя
@swyatogor, жесть... ну а аттач то зачем? Это типа документ, текст которого согласовывается?
Нельзя ссылку просто передавать на файл, а сам файл хранить вне систем?
А из 1С аттач в лотус тянете?
 
как пример
вот еще
 
Последнее редактирование модератором:
вот еще
 
@lmike,
1. ненаю что там кто говорит про 1с-ку - но у нас реально есть бизнес процессы работающие на ее платформе, любого уровня сложности их утверждают, а потом туда переносят, и они работают..
2. Не все решения можно отобразить удобоваримо и с требуемой наглядностью (хотя бы повторить функционал 1с-ки) на Basic клиенте лотуса..

@savl, аттач - необходим скан документа для старта БП в 1с - так поставлена задача..
Вообще набор полей для старта БП заполняется в форме, к той же форме прикладывается необходимый файлик.. Потом это закидывается в SQL в определенную табличку в определенном формате (файлик как бинарник тоже ложится в SQL только в другую базу, а для БП передается ИД записи)..

А из 1С аттач в лотус тянете?
нет.. стоит задача (пока)) только дать возможность стартовать БП в лотусе и потом синхронизировать процесс согласования.. Файлы вроде летать не должны, только документы и их содержание..
 
Не все решения можно отобразить удобоваримо и с требуемой наглядностью (хотя бы повторить функционал 1с-ки) на Basic клиенте лотуса..
basic клиент - этож не висящая в воздухе система, она опирается на сервер, ничто не мешает обрабатывать сервером (хттп) и показывать в бэйзик клиенте ( )
да и потом - почему именно бэйзик? настолько плох бюджет - что компы не меняются 10-летиями ?
[DOUBLEPOST=1460059339,1460059218][/DOUBLEPOST]см. примеры выше - "просто" JS
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!

Курс AD