Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Gerardo50 am 11.07.05 - 09:51:43

Titel: Anhang speichern im WEB Browser?
Beitrag von: Gerardo50 am 11.07.05 - 09:51:43
Hallo Leute,
ich verwende Lotus Notes 5.0.11 (Server & Client) und möchte eine web-fähige Application entwickeln. Die Anwender sollen im Web Browser angehängte Dateien auf das Verzeichnis C:\Temp abspeichern können. Warum funktioniert der untenstehende Code nur im LN Client aber nicht im WEB? (Ich krieg nur eine Meldung "Agent done"...der Agent tut aber offensichtlich nichts..)???

Sub Initialize
   Dim memo As NotesDocument   
   Dim session As New notessession
   Dim db As NotesDatabase
   Set db=session.currentdatabase   
   
   Dim Doc As notesdocument   
   Set session = New NotesSession   
   Set doc = session.DocumentContext   
   
   'Set memo = New NotesDocument (db)
   'Dim rtitem As Variant
   Dim URL As String
   'Print "here I am"   
   URL = "http://graz1/Admin/WorksCoux.nsf/$defaultView?OpenView"
   'Print "[" + URL + "]"
    ' Get the attachment
   Dim item As NotesItem
   Set item = doc.GetFirstItem("$FILE")
   
   originalFileName$ = item.Values(0)
   Dim att As NotesEmbeddedObject
   Set att = doc.GetAttachment(originalFileName$)
   
               ' Extract it to C:\Temp
   path$ = "C:\Temp"
   tempFileName$ = path$ & "\" & originalFileName$
   Call att.ExtractFile(tempFileName$)
   Print "[" + URL + "]"
End Sub

Herzlichen Dank im voraus für jede funktionierende Lösung!

Gerhard
Titel: Re: Anhang speichern im WEB Browser?
Beitrag von: Glombi am 11.07.05 - 10:05:19
Der Agent läuft auf dem Server, d.h. dort müsste auch die Datei sein.

Andreas
Titel: Re: Anhang speichern im WEB Browser?
Beitrag von: animate am 11.07.05 - 10:06:45
Du kannst den Anwendern, die den Browser benutzen, um deine Anwendung zu bedienen, nichts auf deren Festplatten schreiben (zumindest nicht, ohne irgendwelche Sicherheitslücken auszunutzen).

Sie müssen das File explizit herunterladen.
Titel: Re: Anhang speichern im WEB Browser?
Beitrag von: umi am 11.07.05 - 10:33:55
Alternativ dazu könntest Du anstatt die Ansicht zu Printen, die URL des Files printen. Wenn Du vorher noch den Content-Type richtig setzt, sollte es funktionieren.

gruss
umi
Titel: Re: Anhang speichern im WEB Browser?
Beitrag von: Gerardo50 am 11.07.05 - 12:31:12
Der Agent läuft auf dem Server, d.h. dort müsste auch die Datei sein.

Andreas

...aber die angehängte Datei ist ja auch am Server (wird per LN Client attached)!???  :-:
Titel: Re: Anhang speichern im WEB Browser?
Beitrag von: flaite am 11.07.05 - 12:40:10
Du hast bei einem Browserzugriff keinen ECL-gesicherten Zugriff von einem Browser.
Eine Möglichkeit sind Applets. Seit Java2 gibt es hier die Möglichkeit einer ECL-mässigen Sicherheit. Nur muss man sich zur Implementierung eines solchen Systems eben in Java gut auskennen, weil man sonst vermutlich wahnsinnig wird.
Es gibt auch Leute, die behaupten, dass ActiveX in Intranets nutzbar ist. Damit ginge das auch. Aber dafür braucht es auch einen wirklich guten Microsoft Security Experten im Haus, weil es sonst sehr gefährlich ist.
Titel: Re: Anhang speichern im WEB Browser?
Beitrag von: m3 am 11.07.05 - 12:43:15
Der Agent läuft auf dem Server, d.h. dort müsste auch die Datei sein.

Andreas

...aber die angehängte Datei ist ja auch am Server (wird per LN Client attached)!???  :-:
Er meinte aber, dass die angehängte Datei durch den Agent auf dem Server nach C:\Temp extracted/abgelegt wird, da der Agent auf dem Server und nicht im Browser läuft.

@kennwort:
"Microsoft Security Experte" - ist das nicht ein Oxymoron? ;)
Titel: Re: Anhang speichern im WEB Browser?
Beitrag von: Gerardo50 am 12.07.05 - 07:28:58
Du hast bei einem Browserzugriff keinen ECL-gesicherten Zugriff von einem Browser. .....
Hallo nochmal, anscheinend habe ich mich extrem schlecht ausgedrückt (oder ich verstehe die Welt nicht mehr...), was ich will ist nichts anderes als wenn ich auf einer WEB Seite einen download starten will, also entweder einen Link anklicken oder eine Schaltfläche um eine Datei die an ein Dokument angehängt ist auf ein lokales Laufwerk zu speichern, also etwas was auf tausenden Web Seiten gang und gebe ist....ist das mit Lotus Notes nicht zu machen? Gibt´s ja wohl nicht, ich kenn ja etliche homepages die mit LN im Hintergrund arbeiten und die das sehr wohl implementiert haben... ???
Also nochmal, ich möchte nur vermeiden daß ein user mit der rechten Maustaste auf ein attachment gehen und "Ziel speichern unter..." wählen muß, das soll eben durch einen Action button ausgelöst werden.

Lieben Gruß,

Gerhard
Titel: Re: Anhang speichern im WEB Browser?
Beitrag von: umi am 12.07.05 - 08:44:00
Du könntest z.B. einfach einen Link auf dein Attachment machen mit <Computed Text>.

Der könnte ungefähr so aussehen:
_names:=@subset(@attachmentNames;1);
"<a href=\"http://" +@webdbname+"/0/"+@Text(@documentuniqueid)+"/file$/"+_names+"\">Attachment speichern</a>"

gruss
umi
Titel: Re: Anhang speichern im WEB Browser?
Beitrag von: Gerardo50 am 12.07.05 - 09:58:56
 :D Super umi, jetzt kommen wir der Sache schon näher...ich muß noch vorausschicken daß ich web mäßig noch ziemlicher Anfänger bin, also bitte schon mal jetzt um Entschuldigung für dämliche Fragen...

Also...was ich bis jetzt gemacht habe ist folgendes:

die Formel für den <Computed Text> ist bei mir:

_names:=@Subset(@AttachmentNames;1);
db := @ReplaceSubstring(@Subset(@DbName; -1); "\\"; "/");
"<a href=\"http://Graz1/" + db +"/0/"+@Text(@DocumentUniqueID)+"/file$/"+_names+"\">Attachment speichern</a>"

und das ergibt im Browser:

<a href="http://Graz1/Admin/WorksCoux.nsf/0/5B9A1ED2E7535789C125703500170023/file$/Bestellliste_kw27.xls">Attachment speichern</a>

wobei die Dateianlage sehr schön als "Bestellliste_kw27.xls erkannt wird...

als Link wird jetzt aber nur folgendes erkannt:

http://Graz1/Admin/WorksCoux.nsf/0/5B9A1ED2E7535789C125703500170023/file$/Bestellliste_kw27.xls

und wenn ich versuche das zu öffnen kriege ich nur:

Die Seite kann nicht angezeigt werden


was mache ich noch falsch?

Herzlichen Dank  :D
Titel: Re: Anhang speichern im WEB Browser?
Beitrag von: umi am 12.07.05 - 10:04:40
Sorrry, ist mein Fehler

Hab mich verlesen in meinem eigenen Code :-)
$File anstatt File$

Müsste eigentlich mit:

"<a href=\"http://Graz1/" + db +"/0/"+@Text(@DocumentUniqueID)+"/$file/"+_names+"\">Attachment speichern</a>"

klappen.
Titel: Re: Anhang speichern im WEB Browser?
Beitrag von: umi am 12.07.05 - 10:06:36
Das einzige Problem was Du jetzt noch hast, sind folgende Fälle:
1. Mehrere Attachments
2. Attachments mit "komischen" Dateinamen.

gruss
umi
Titel: Re: Anhang speichern im WEB Browser?
Beitrag von: Gerardo50 am 12.07.05 - 10:23:21
 :D hey Super!!!

Dank Dir sehr umi, jetzt komme ich da schon weiter, Du hast mir echt geholfen.

Lieben Gruß,

Gerhard
Titel: Re: Anhang speichern im WEB Browser?
Beitrag von: Haage am 10.02.06 - 10:18:11
Du könntest z.B. einfach einen Link auf dein Attachment machen mit <Computed Text>.
Der könnte ungefähr so aussehen:
_names:=@subset(@attachmentNames;1);
"<a href=\"http://" +@webdbname+"/0/"+@Text(@documentuniqueid)+"/$file/"+_names+"\">Attachment speichern</a>"

Habe das soweit eingegeben, aber es erscheint immer noch, dass die Seite nicht gefunden werden kann.
Titel: Re: Anhang speichern im WEB Browser?
Beitrag von: umi am 10.02.06 - 10:39:01
Ups das ist ja das R5. da gibts @WebDbname noch gar nicht
Verwende dafür
@replacesubstring(@subset(@dbname;-1);"\\";"/")
Titel: Re: Anhang speichern im WEB Browser?
Beitrag von: Haage am 10.02.06 - 10:44:01
habe ja nur geantwortet. ich benutzte notes 6
Titel: Re: Anhang speichern im WEB Browser?
Beitrag von: umi am 10.02.06 - 10:51:39
Schau mal den Quelltext der Seite an, was im Link generiert wird.
evtl. stimmt da was nicht.

evtl. hat er mit dem Dateinamen ein Problem..
Titel: Re: Anhang speichern im WEB Browser?
Beitrag von: Haage am 10.02.06 - 11:04:38
_att:=@AttachmentNames;
_linkAnfang:="<a href=\"/" + @WebDbName+ "/0/" + @Text(@DocumentUniqueID)+"/$File/" + _att + "\" target=\"_blank\" >";
_linkEnde:="</a>

Diesen Code benutze ich auch und da greift er auf die selbe Datei zu und er funktioniert einwandfrei.
Titel: Re: Anhang speichern im WEB Browser?
Beitrag von: umi am 10.02.06 - 11:17:38
"<a href=\"http://" +@webdbname+"/0/"+@Text(@documentuniqueid)+"/$file/"+_names+"\">Attachment speichern</a>"

Da fehlt doch der Servername?
Titel: Re: Anhang speichern im WEB Browser?
Beitrag von: Haage am 10.02.06 - 11:34:25
das stimmt, aber den servernamen berechnet er doch über @WEBDBName. wenn ich den anderen Link öffne, der funktioniert, dann spukt er das aus:
http://srv-domino07.en.de/ENERCON-Info.nsf/0/18CA37AAE/$File/IMG06.jpg
und da ist der servername ja mit dabei.
Titel: Re: Anhang speichern im WEB Browser?
Beitrag von: umi am 10.02.06 - 11:38:56
Nein. @WebDbname berechnet nur den Web Pfad zur Datenbank und ist nur der ersatz für die @replacesubstring() Konstruktion.

d.h. @WebDbname liefert "/MeinPfad/MeineDB.nsf" retour. Der Servername aber nicht.