Autor Thema: Dateigrößen in RichText Feld beschränken  (Gelesen 1500 mal)

Offline orbit

  • Frischling
  • *
  • Beiträge: 20
  • Geschlecht: Männlich
Dateigrößen in RichText Feld beschränken
« am: 23.08.10 - 15:11:34 »
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


Offline diali

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.023
  • Geschlecht: Männlich
Re: Dateigrößen in RichText Feld beschränken
« Antwort #1 am: 23.08.10 - 15:33:42 »
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.
Gruß
Dirk

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Dateigrößen in RichText Feld beschränken
« Antwort #2 am: 23.08.10 - 15:47:53 »
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

Offline orbit

  • Frischling
  • *
  • Beiträge: 20
  • Geschlecht: Männlich
Re: Dateigrößen in RichText Feld beschränken
« Antwort #3 am: 26.08.10 - 08:09:07 »
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

Offline Kadlec

  • Senior Mitglied
  • ****
  • Beiträge: 489
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re: Dateigrößen in RichText Feld beschränken
« Antwort #4 am: 26.08.10 - 08:45:46 »
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

Offline orbit

  • Frischling
  • *
  • Beiträge: 20
  • Geschlecht: Männlich
Re: Dateigrößen in RichText Feld beschränken
« Antwort #5 am: 26.08.10 - 11:11:19 »
Die Grössen kommen aus allen möglichen Dateien,
Hauptsächlich aber: *.pdf, *.doc, *.jpg, *.tif

Wobei die in 90% der übergroßen Dokumente *.doc & *.jpg verantwortlich sind.


\Florian




 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz