Аттачи: получение из RtItem

  • Автор темы Gor
  • Дата начала
G

Gor

Доброго времени суток всем.
ПОдскажите пожалуйста как получить аттачмент из RT поля на Java?

Надо сделать нечто подобное

Код:
File tmpFile = File.createTempFile("attachment", ".txt");
FileWriter fw = new FileWriter(tmpFile);
fw.write("A sample file attached via SOAP to JIRA issue " + issue.getKey());
fw.close();

boolean added = jiraSoapService.addAttachmentsToIssue(token,
issue.getKey(),
new String[] { tmpFile.getName() },
new byte[][] { getBytesFromFile(tmpFile) });
tmpFile.delete();

В куске кода показывается как создаётся новый текстовый аттачмент и передаётся байтово в сервис, а мне надо вытащить аттачмент из лотусового РТ поля и передать подобным образом...
?
Видимо необходимо достать файл из РТ, сохранить временно на диск, потом определить его как файл File.createTempFile("полный путь куда мы сохранили файл из РТ и название", "расширение файла") а потом точно также передать и удалить временно сохранённый файл???
Жавой пока что не очень хорошо владею, может у кого нибудь есть пример кода?

И ещё один вопрос - а если аттачменты не прикреплены в лотусовом документе к какому либо RT полю (т.е. прикреплены просто через File Upload и Submit формы и разбиты по служебным полям $File) Можно ли их получить на Java?
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 985
611
BIT
472
есть и с сохранением и без ;) , и несколькими методами...
link removed
 
T

turumbay

Доброго времени суток всем.
ПОдскажите пожалуйста как получить аттачмент из RT поля на Java?
Аттач из RT поля - это в хелп.

И ещё один вопрос - а если аттачменты не прикреплены в лотусовом документе к какому либо RT полю
Код:
EmbeddedObject firstAttachment = null;
try{
// список аттачей документа
java.util.Vector filenames = session.evaluate("@AttachmentNames", doc );
//первый аттач: 
firstAttachment = doc.getAttachment( (String) filenames.get(0) );
// дальше - смотря чего нужно. Стрим:
InputStream is = firstAttachment.getInputStream(); 
// или файл:
String tmpFileName = ... 
firstAttachment.extractFile( tmpFilePath );
File tmpFile = new File( tmpFilePath );
//...
} finally { 
try {
if ( null != firstAttachment ) firstAttachment.recycle(); 
} catch(NotesException ignored ) {}
}
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 985
611
BIT
472
turumbay
"единообразно" будет - как есть в проекте (там LAX дергеает всё - без разбору где "лежит") - хотя придётся разобраться ;)
а конкретней - посмотреть как организован checkResolution
в public class JpegData extends ObjHandler
убрать проверку имеджа, и если надо все файлы - отрубить фильтр
if (s.endsWith(FILTER))
 
Мы в соцсетях:

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