NowAttachmentMetadatenstruktur – iOS

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 2 Minuten Lesedauer
  • Die NowAttachmentMetadata Die Struktur bietet Funktionen, mit denen Sie Anhangsmetadaten codieren und verwalten können.

    Tabelle : 1. Eigenschaften
    Name Typ Beschreibung
    AverageImageColor Zeichenfolge Dominanteste Farbe im zugehörigen Bild.
    Blockgröße InByte Ganzzahl Größe von Der Block .

    Einheit: Byte

    Komprimierte​Größe​in Byte Ganzzahl Komprimierte Größe des Anhangs.

    Einheit: Byte

    erstellt Datum Datum, an dem der Anhang erstellt wurde.
    Erstellt von Zeichenfolge Entität, die den Anhang erstellt hat.
    Download URL URL des Anhangs auf der ServiceNow Instanz.
    fileName Zeichenfolge Name der Anhangdatei.
    Hash Zeichenfolge SHA256-Digest für den Anhang erwartet.

    Ein heruntergeladener Anhang ist Validiert Durch Vergleich des berechneten Digest mit diesem SHA256-Digest.

    Bildhöhe Ganzzahl Höhe des Bilds.

    Einheit: Pixel

    ImageBreite Ganzzahl Breite des Bildes.

    Einheit: Pixel

    Ist komprimiert Boolean Kennzeichnung, die angibt, ob die Anhangdatei komprimiert ist.
    Mögliche Werte:
    • Wahr: Anhang ist komprimiert.
    • Falsch: Anhang ist nicht komprimiert.
    mimeType Zeichenfolge MIME-Typ des Anhangs.
    Änderungsanzahl Ganzzahl Gibt an, wie oft der Anhang geändert wurde.
    sizeInBytes Ganzzahl Größe des Anhangs.

    Einheit: Byte

    sourceSysId Zeichenfolge SYS_ID der Anhangdatei.
    SourceTableName Zeichenfolge Name der Quelltabelle, in der sich der Anhang befindet.
    Status Verfügbarkeitsstatus, z. B. bedingt, nicht verfügbar, verfügbar und Ausstehend.
    sysId Zeichenfolge Eindeutige 32-stellige global eindeutige ID (GUID), die jeden Datensatz in einem identifiziert ServiceNow Instanz.
    tags Zeichenfolge Liste der Tags, die dem Anhang zugeordnet sind.
    aktualisiert Datum Datum, an dem der Anhang zuletzt geändert wurde.
    updatedBy Zeichenfolge Entität, die den Anhang aktualisiert hat.

    NowAttachmentMetadata – encodieren(zu Encoder: Encoder)

    Codiert den aktuellen Objektwert mithilfe des angegebenen Encoders in Daten.

    Wenn das Objekt nicht in Daten codiert werden kann, codiert der Encoder eine leere Schlüsselcontainer An seiner Stelle. Diese Funktion löst auch einen Fehler aus, wenn Werte für das Format des angegebenen Encoders ungültig sind.

    Tabelle : 2. Parameter
    Name Typ Beschreibung
    Zu Encoder Encoder Encoder, der die Struktur der codierten Ausgabe definiert.
    Tabelle : 3. Rückgaben
    Typ Beschreibung
    Keine

    Das folgende Codebeispiel zeigt, wie diese Funktion aufgerufen wird.

    let query = "active=true^short_descriptionLIKEbroken"
    let filter = Filter(query: query)
    metadataPublisher(filter: filter, limit: 1)
    private func metadataPublisher(filter: Filter?, limit: Int?) {
      let publisher = attachmentService.attachmentMetadata(filter: filter, limit: limit)
      publisher
      .receive(on: DispatchQueue.main)
      .encode(encoder: JSONEncoder())
      .sink { [weak self] completion in
        if case let .failure(error) = completion {
          // attachment published failed, return NowDataError
        }
      } receiveValue: { [weak self] (data) in
        // Attachment published successful, return data
      }
      .store(in: &subscriptions)
    }

    NowAttachmentMetadata – init (von Decoder: Decoder)

    Erstellt eine neue NowAttachmentMetadata-Instanz, indem Daten aus dem angegebenen Decoder in ein Objekt decodiert werden.

    Diese Methode löst einen Fehler aus, wenn das Lesen vom Decoder fehlschlägt oder wenn die gelesenen Daten beschädigt oder anderweitig ungültig sind.

    Tabelle : 4. Parameter
    Name Typ Beschreibung
    Decoder Decoder Decoder, aus dem Daten gelesen werden sollen.
    Tabelle : 5. Rückgaben
    Typ Beschreibung
    Keine

    Das folgende Codebeispiel zeigt, wie diese Funktion aufgerufen wird.

    guard 
      let metadataHeader = response.httpResponse?.value(forHTTPHeaderField: NowAttachment.attachmentMetadataHeaderKey),
      let metadataHeaderData = metadataHeader.data(using: .utf8) else {
        throw NowDataError.missingAttachmentMetadata
      }
                
    let metadata = try coder.decode(NowAttachmentMetadata.self, from: metadataHeaderData)
    let attachment = NowAttachment(metadata: metadata, data: response.data)