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

Gor

Well-known member
07.06.2005
517
1
#1
Доброго времени суток всем.
ПОдскажите пожалуйста как получить аттачмент из 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?
 
13.03.2009
625
1
#3
Доброго времени суток всем.
ПОдскажите пожалуйста как получить аттачмент из 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
6 586
272
#4
turumbay
"единообразно" будет - как есть в проекте (там LAX дергеает всё - без разбору где "лежит") - хотя придётся разобраться ;)
а конкретней - посмотреть как организован checkResolution
в public class JpegData extends ObjHandler
убрать проверку имеджа, и если надо все файлы - отрубить фильтр
if (s.endsWith(FILTER))