Domino 9 und frühere Versionen > ND7: Entwicklung
Anhänge bei Verarbeitung von POST-Daten durch Agenten
FriFra:
Hallo zusammen,
ich habe in meiner Anwendung ein Form, welches Daten von diversen Dokumenten einer DB gemischt darstellt. Beim Speichern sende ich den Request per Post an einen Agenten, der die jeweiligen Felder (name jeweils [UNID-Ursprungsdokument]_[Feldname]) in die jeweiligen Dokumente updatet. Das funktioniert soweit wunderbar.
Jetzt hab ich allerdings das Problem, dass nun auch Dateien upgeloaded werden sollen. In REQUEST_CONTENT taucht zwar auch der Inhalt meiner <input type=file ..> auf, allerdings nur als Text (Pfad der Datei) und nicht deren Inhalt.
Ich hab jetzt schon geschaut, ob ich im Context-document attachments finden kann... es gibt offenbar keine, d.h. doc.HasEmbeddet liefert mir false und auch ein $File Feld existiert nicht... auch gibt es im Kontext kein entspr. feld...
Hat jemand einen Tipp, wie ich an per POST an einen Agenten übergebene Dateien heran kommen kann? Ich steh da im Moment auf dem Schlauch...
FriFra:
Ich habe jetzt mal zum Testen einfach eine html-Datei erstellt von der aus ich irgendetwas zu meinem Agenten posten kann und speichere jetzt das Kontext-Dokument.
Interssant ist, die Datei ist NICHT mit dran, nur der Dateiname.
Exportiertes Dokument:
--- Code: ---HTTP_ACCEPT: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*
HTTP_ACCEPT_LANGUAGE: de
HTTP_CONTENT_TYPE: application/x-www-form-urlencoded
HTTP_ACCEPT_ENCODING: gzip, deflate
HTTP_USER_AGENT: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)
HTTP_HOST: server1
HTTP_CONTENT_LENGTH: 109
HTTP_CONNECTION: Keep-Alive
HTTP_CACHE_CONTROL: no-cache
HTTP_COOKIE: DomAuthSessId=F414AEEA24DA26D81F219A59890148F7
HTTPS: OFF
CONTENT_LENGTH: 109
CONTENT_TYPE: application/x-www-form-urlencoded
PATH_INFO: /test/test.nsf/agtSaveForm?Open
CGI_PATH_INFO: /test/test.nsf/agtSaveForm
PATH_TRANSLATED: /test/test.nsf/agtSaveForm
QUERY_STRING: Open
QUERY_STRING_DECODED: Open
REMOTE_HOST:
REMOTE_ADDR: 192.168.159.1
REMOTE_IDENT:
REQUEST_METHOD: POST
SERVER_NAME: server1
SERVER_PORT: 80
SERVER_PROTOCOL: HTTP/1.1
SERVER_SOFTWARE: Lotus-Domino
SERVER_ADDR: 192.168.159.128
AUTH_TYPE: Domino
REMOTE_USER: CN=Hans Admin/O=R8Labor
GATEWAY_INTERFACE: CGI/1.1
SCRIPT_NAME:
PATH_INFO_DECODED: /test/test.nsf/agtSaveForm?Open
REQUEST_CONTENT: Debug=1&testtext=klappt&upload=D%3A%5CDaten%5CEigene+Dateien%5C080922-DIV-Feedback_KK_Seminar+D1-MaE-V1.1.pdf
$UpdatedBy: CN=Max Mustermann/OU=MUSTERSTADT/O=ACME/C=DE
--- Ende Code ---
pram:
soweit ich weiß musst du der HTML-Form einen speziellen Typ geben:
ich glaub enctype="application/x-www-form-urlencoded" oder "multipart/formdata"
danach werden mehrere Felder angelegt und du musst dir das Ganze mühsam selbst auseinanderdröseln....
ODER: Kann es sein das das Feld welches du ausliest ein Richtextfeld ist? Evtl auch mal doc.getAttachment probieren
Gruß
Roland
FriFra:
--- Zitat von: pram am 02.01.09 - 16:07:04 ---soweit ich weiß musst du der HTML-Form einen speziellen Typ geben:
ich glaub enctype="application/x-www-form-urlencoded" oder "multipart/formdata"
--- Ende Zitat ---
Ja, mit "multipart/formadata" kommt alles mit... aber encoded. Ich hatte allerdings auf die schnelle keine ScriptLib/Funktion gefunden um diesen "Datenmüll" irgendwie elegant und schnell zu dekodieren... Ich hab jetzt einfach einen 2. Form-Tag auf der Seite der die Attachments zu einem echten Form postet was dann wiederum ein OnQuerySave-Agent entspr. verwurstet, so dass diese dann an meinem Dokument hängen.
So gesehen hab ich das Problem "gelöst" ;)
--- Zitat von: pram am 02.01.09 - 16:07:04 ---ODER: Kann es sein das das Feld welches du ausliest ein Richtextfeld ist?
--- Ende Zitat ---
Nö, kann nicht ;) , denn ich poste ja eine stinknormale HTML-Seite zum Agenten.
pram:
also Anhänge kann der Browser soweit ich weiß nur dann posten, wenn der enctype richtig gesetzt ist, allerdings kommt, wie du schon gemerkt hast, ein ziemlicher Datenn"müll" beim Agent an...
Was willst du genau machen?
Gruß
Roland
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln