Autor Thema: Mime-Entity und Attachment  (Gelesen 4003 mal)

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Mime-Entity und Attachment
« am: 19.10.10 - 18:47:31 »
Hallo zusammen, ich versuche in ein NotesMimeEntity ein Attachment anzufügen:

Code
Dim mimePart     As NotesMIMEEntity                                              ' content-teil mit der ID myAttachment.zip anlegen
Set mimePart     =  rootMime.CreateChildEntity() ' neuen Mime-Part für AttachmentDaten
Call mimePart.CreateHeader("Content-Disposition").Setheaderval({attachment; filename=myAttachment.zip"})
Call mimePart.CreateHeader("Content-ID").SetheaderVal("<myAttachment.zip>")    
Call mimePart.SetContentFromText(mimeData, {application/x-zip-compressed; name="myAttachment.zip"}, ENC_BASE64)

call stream.WriteText("<a href=cid:myAttachment.zip>Ich bin ein Attachment</a>") ' ins HTML einen Link auf den Content mit der ID myAttachment.zip erstellen
Call htmlMime.SetContentFromText(stream, {text/html; charset="utf-8"}, ENC_NONE)

Dies klappt soweit auch, allerdings geht der Name des Attachments verloren, wenn ich es mit dem Browser runter laden möchte.
über http://server/.../.../.../Body?OpenField wird mir das Dokument angezeigt. Der Link <a href="cid:..."> wird von Notes auch korrekt übersetzt und zeigt auf http://server/.../.../.../Body/M3?OpenElement
Dies wäre auch der richtige Anhang, nur beim Download schlägt mir der Browser immer M3 bzw. M3.zip als Download vor.
Ich schaff es nicht, den Dateinamen zu übergeben.
Wenn ich den Link manuell im Browser so eingebe:
http://server/.../.../.../Body/M3/myAttachment.zip?OpenElement dann würde der Name vorgeschlagen, allerdings klappt ein
Code
call stream.WriteText("<a href=cid:myAttachment.zip/myAttachment.zip>Ich bin ein Attachment</a>")
nicht.
Ich habe schon mit "Content-Disposition" und "Content-Type" rumexperimentiert, egal was ich da angebe, Notes verwendet den Filename nicht für den Link

Momentan versuche ich den Zugriff über http://server/.../.../.../$FILE/myAttachment.zip?OpenElement
Hier habe ich aber ggf. das Problem, dass der ContentType ignoriert wird, oder es schlichtweg kein $FILE-Item gibt für das Attachment (weil es z.B. im Mime inline ist)

Hat vielleicht wer einen Tipp wie ich entweder Notes dazu bringe, den Content-Disposition-Header an den Browser zu senden, laut Firebug macht der Server (7.02FP2) das nicht, oder hinter "<a href=cid:....." den Dateinamen hängen kann?

Gruß
Roland
Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

Offline WernerMo

  • @Notes Preisträger
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.050
  • Geschlecht: Männlich
Re: Mime-Entity und Attachment
« Antwort #1 am: 19.10.10 - 22:56:40 »
Hallo Roland,

ist es nu Domino V8.x.x oder ist es:

... macht der Server (7.02FP2) ...

wenn V7, dann sollte es auch dorthin verschoben werden.

Gruß Werner
Gruß Werner
  o                                                  o   
 /@\  Nächster @Notes-Stammtisch  /@\  online Sept. 2020?
_/_\__________________________/_\_ Details folgen.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Mime-Entity und Attachment
« Antwort #2 am: 19.10.10 - 23:11:50 »
Werner, der entscheidende Teil ist hier der Client. Was der nicht erzeugt, kann der Server nicht wie gewünscht interpretieren - ob das nun R7 oder R8 ist. Und ich denke, hier verhalten sich R7 und R8-Clients gleich. Vermutlich sogar die 6er.

Zum eigentlichen Thema kann ich derzeit leider nichts vernünftiges beitragen.

Bernhard

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Re: Mime-Entity und Attachment
« Antwort #3 am: 19.10.10 - 23:42:06 »
Sorry, der Server auf dem der HTTP-Dienst läuft ist 7.0.2 der Client ist 8.5.1.
Werd mal probieren ob sich in der Beziehung ein 8er Server anders verhält. Mit 8.5 wurde ja viel im Bereich HTTP getan.


/EDIT:

Also ein 8.5.1er Server hängt an den Link die Content-ID an:
http://server/.../.../.../Body/M3?OpenElement&cid=myAttachment.zip

Bei 7 und 8.0 endet der Link nach "M3?OpenElement"

Wenn ich jetzt als Content-ID "att/myAttachment.zip" nehme dann wird (unter 8.5) folgender Link
http://server/.../.../.../Body/M3!OpenElement&cid=att/myAttachment.zip
und der Browser erkennt den Dateinamen richtig (allerdings nur, wenn der Server ! anstatt ? als URL-separator verwendet)

... alles irgendwie keine saubere Lösung  >:(

Gruß
Roland
« Letzte Änderung: 20.10.10 - 09:49:13 von pram »
Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz