Domino 9 und frühere Versionen > ND8: Entwicklung
Dateigrößen in RichText Feld beschränken
orbit:
Hallo,
gibt es eine Möglichkeit, das Speichern eines Dokumentes zu verhindern, wenn
eine Datei in ein RichText Feld angehängt wird die größer ist als 3MB?
Habe Momentan im QuerySave folgendes:
On Error Goto errorhandler
Dim sess As New NotesSession
Dim ws As New NotesUIWorkspace
Dim db As NotesDatabase
Set db = sess.CurrentDatabase
Dim doc As NotesDocument
Set doc = source.Document
Dim rtitem As Variant
Dim object As NotesEmbeddedObject
Dim SizeInBytes As Long
Set rtitem = doc.GetFirstItem( "BeschreibungErstaufnahme" )
If rtitem.Type = RICHTEXT Then
Forall objects In rtitem.EmbeddedObjects
Messagebox objects.FileSize
If objects.Type = EMBED_ATTACHMENT And objects.FileSize > 3145728 Then ' 3MB Grenze
Messagebox "Achtung: Die Datei " & objects.Name & " ist zu groß"
continue = False
Exit Sub
End If
End Forall
End If
... und dann gehts noch weiter mit anderem zeug..
Prinzipiell funktioniert das ganze ja - aber leider nicht beim ersten Speichern des Dokuments,
weil vermutlich der Anhang dann ja noch gar nicht wirklich im RT Feld liegt?
Kann man das vorher irgendwie checken??
Danke Florian
diali:
falls Du kein RT-Feld im Frontend brauchst, könntest du dir Schaltflächen für das Anhängen, Ansehen, Speichern und Löschen schreiben. Damit kannst du vor dem Anhängen prüfen, wie groß die angehängten Datein plus die neue Datei werden und das Anhängen ggf. abbrechen.
koehlerbv:
Wenn das doch rein über das Frontend gehen soll, geht auch folgender Ansatz:
- Privates Profiledocument mit einem RTF
- Function im QuerySave: Markiert und kopiert Dein RTF im zu prüfenden Dokument ins Clipboard
- RTI im ProfileDocument löschen
- ProfileDocument im Frontend öffnen, Sprung zum dortigen RTF und Clipboard dort abladen
- ProfileDocument speichern
- Grösse checken und "brav" oder "böse" an das QuerySave zurückmelden.
Bernhard
orbit:
Danke für Eure Antworten,
das mit dem Profildokument funktioniert soweit ganz gut, auch wenn ich (Anfänger!)
dafür eine halbe Ewigkeit gebraucht hab. Dummerweise sollen da jetzt in diese Maske noch
3 RT Felder rein.
Womit ich wohl eher dazu tendiere die Dokumentengröße als Ganzes zu beschränken.
\Florian
Kadlec:
Hallo,
wie kommt es eigentlich zu der grösse?
Bzw. ich war mal in einer ähnlichen Lage.
Bilder in eine Db.. wie diese jetzt einigermassen klein halten?
Eine einheitliche grösse, mehr oder weniger nicht möglich.
Also habe ich die Bilder in pdf gewandelt und siehe da sie wurden annähernd gleich gross.
Also erlaube ich nur pdf's zu importieren.
Boris
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln