Jacek Kilian

Jacek Kilian Główny Specjalista
ds. Architektury
Systemów
Informatyczn...

Temat: Jak zapisać image resource do pliku za pomocą skryptu

Mam potrzebę zapisania do pliku zasobu bazy dominowej (image lub plik).
Uzyskać dostęp do obiektu nie stanowi oczywiście problemu, ale nie ma pojęcia jak zapisac na dysku fizyczne dane obiektu ?

Czyli za pomocą skryptu wykonać to co dzieje się po kliknięciu w Designerze na Export w widoku Shared Resources / Images (albo Files). Oczywiście z pominięciem dialogu do wskazania lokalizacji i nazwy pliku.
Adrian C.

Adrian C.
projektant/programis
ta

Temat: Jak zapisać image resource do pliku za pomocą skryptu

Czesc,
ja bym do tematu podszedl w nastepujacy sposob:
1)Zbudowal kolekcje note zlozona z ImageResource(NotesNoteCollection)
2)W kolekcji odnalazl(iterujac po niej) interesujacy noteid
3)Na podstawie noteid pobral NotesDocument
4)Wyexportowal ten dokument do DXL - NotesDxlExporter
5)Otrzymany wynik sparsowal(np. NotesSaxParser), w przypadku gdy jest to:
1.gif - interesuja Cie dane w nodzie xmlowym o nazwie gif
2.jpeg - analogicznie jpeg
3.gif - gif
6)Dane te sa zakodowane w BASE64, po odkodowaniu powinienes dostac tablice bajtow
7)Utworz strumien NotesStream
8)Wpisz do tego strumienia dane, ktore otrzymales w pkt. 6
9)Gotowe :)

Dekoder BASE64 napisany w LS z latwoscia znajdziesz w internecie, osobiscie polecam biblioteke, ktora znalazlem na nsftools.com, autor: Julian Robichaux.

Jesli Cie interesuje wersja JAVA, to mam gotowe 2 klasy, ktore robia powyzej opisane operacje.
Powodzenia
Jacek Kilian

Jacek Kilian Główny Specjalista
ds. Architektury
Systemów
Informatyczn...

Temat: Jak zapisać image resource do pliku za pomocą skryptu

Dziękuję Adrian.
1),2),3),7),8),9) wydawały mi się naturalne.
Z DXL-em nie jestem za pan-brat , ale może nadszedł właśnie ten moment...
Powalczę w przyszłości , a na razie oczywiście znalazłem inne rozwiązanie mojej podstawowej potrzeby, której zgłoszony tu problem był skutkiem.
Jak nie możesz go przeskoczyć to obejdź doodkoła :)



Wyślij zaproszenie do