LoadAdHocMediaFile

LoadAdHocMediaFile
Main
History-Relevant
Rückgabewert
ByteArray
RET
JUNK_FILE_BYTE_ARRAY
Parameterliste
ConversionBaseFileId
IN
LONG_NUMERIC_IDENTIFIER
>FILE.FILEID
StartAtByte
IN
long
MaxBytes
IN
Int
FileTransferFromDmsState
OUT
Enum: FileTransferFromDmsState
NamedValueArray
INo
NamedValue[]
Width
INo
LONG_NUMERIC_IDENTIFIER
Height
INo
LONG_NUMERIC_IDENTIFIER
FilterCd
INo
SHORT_NUMERIC_IDENTIFIER
QualityPercent
INo
SHORT_NUMERIC_IDENTIFIER
FileTypeId
INo
LONG_NUMERIC_IDENTIFIER
MediaCd
INo
SHORT_NUMERIC_IDENTIFIER
Kurzbeschreibung:
Dieser Service retourniert den Inhalt einer AdHoc-konvertierten Datei auf Basis der über ConversionBaseFileId referenzierten Datei und den Konvertierungsparametern gemäss Auflistung im NamedValueArray.
Fehlerhandling/Plausibilisierung:
Generell gelten die Regeln (PK, AK, FK, Unique, NotNull) der Datenbank. Die zusätzlichen Fehler sind:
  • Aufgrund von Validator-Prüfungen (VD)
  • Wenn das File über die FileId nicht gefunden wird (1)
  • Wenn kein physikalisches File vorhanden ist (2)
  • Wenn die MediaFileId nicht korrekt ist (3)
  • Wenn das AdHoc-File nicht vorhanden ist (4)
  • Wenn für die Erzeugung der AdHoc-Datei die Konvertierungsbasis fehlt! (5)
  • Wenn die gewünschte Grösse des JunkFiles 0 Byte beträgt (6)
  • Wenn die gewünschte Grösse des JunkFiles die maximale Grösse übersteigt (7)
  • Wenn der FileAccess nicht registriert ist (8)
  • Der StorageDirectorAndProtector im FileAccess nicht registriert ist (9)
  • Wenn das Lesen der Datei aufgrund des geschlossenen StorageDirectors blockiert wurde (10)
  • Wenn das Schreiben der Datei aufgrund des geschlossenen StorageDirectors blockiert wurde (11)
  • Wenn das Schreiben der Datei aufgrund des ReadOnly-StorageDirectors blockiert wurde (12)
  • Wenn die Konvertierung nicht korrekt durchgeführt werden konnte! (13)
  • Die Datei kleiner als der gewünschte Offset ist (14)
Bemerkungen:
(1): GetFileNEx
(2): LoadFileNEx
(3): LoadAdHocFileInvMdaFileId
(4): LoadAdHocFileNEx
(5): LoadAdHocFileConvBaseMs
(6): ValMinJunkFileSizeVio
(7): ValMaxJunkFileSizeVio
(8): EnvFileAccNReg
(9): EnvStrgDirAndProtNReg
(10): EnvStrgDirAndProtReadBlkClosedStrg
(11): EnvStrgDirAndProtWriteBlkClosedStrg
(12): EnvStrgDirAndProtWriteBlkReadOnlyStrg
(13): ConversionFailedWithNoChangeToRecover
(14): EnvFileAccOfstFileSizeExd
Konvertierungsparameter:
Width: default 0, belassen
Height: default 0, belassen
FilterCd: default 0, belassen
QualityPercent: default 0 => 100%, belassen
FileTypeId: sofern anderes Dateiformat erwünscht (Unterstützt sind: jpg, png, gif, bmp und tiff)
MediaCd: wenn etwas anderes als PICTURE was aber noch nicht unterstützt ist
File vom DMS beziehen:
Die Konvertierungsbasis wird über die ConversionBaseFileId addressiert. Anhand des Parameters StartAtByte wird in der Datei der Offset gesetzt und eine ByteArray der Grösse MaxBytes retourniert. MaxBytes muss dabei grösser 0 und darf maximal MAX_JUNK_FILE_IN_KB sein.
Nach dem ersten Aufruf steht im Out-Parameter FileTransferFromDmsState FILE_TRANSFER_COMPLETE sofern die Datei bereits vollständig übertragen wurde, ansonsten FILE_TRANSFER_IN_PROGRESS. Werden weiteren Aufrufe benötigt um den Rest abzuholen, muss der Offset StartAtByte entsprechend angepasst werden.