Structure de NowAttachmentMetadata : iOS

  • Rversion finale: Yokohama
  • Mis à jour 30 janv. 2025
  • 2 minutes de lecture
  • La structure NowAttachmentMetadata fournit des fonctions qui vous permettent d’encoder et de gérer les métadonnées des pièces jointes.

    Tableau 1. Propriétés
    Nom Type Description
    averageImageColor Chaîne Couleur la plus dominante dans l’image associée.
    chunkSizeInBytes Entier Taille du morceau.

    Unité : Octets

    compressedSizeInBytes Entier Taille compressée de la pièce jointe.

    Unité : Octets

     créé(s) Date Date de création de la pièce jointe.
    createdBy Chaîne Entité qui a créé la pièce jointe.
    Télécharger URL URL de la pièce jointe sur l’instance ServiceNow .
    fileName Chaîne Nom du fichier en pièce jointe.
    hachage Chaîne Synthèse SHA256 attendue pour la pièce jointe.

    Une pièce jointe téléchargée est validée en comparant sa synthèse calculée à cette synthèse SHA256.

    Hauteur de l’image Entier Hauteur de l’image.

    Unité : Pixels

    largeur d’image Entier Largeur de l’image.

    Unité : Pixels

    isCompressed Booléen Marqueur indiquant si le fichier de pièce jointe est compressé.
    Valeurs possibles :
    • vrai : la pièce jointe est compressée.
    • false : la pièce jointe n’est pas compressée.
    mimeType Chaîne Type MIME de pièce jointe.
    modificationCount Entier Nombre de modifications de la pièce jointe.
    sizeInBytes Entier Taille de la pièce jointe.

    Unité : Octets

    sourceSysId Chaîne Sys_id du fichier en pièce jointe.
    sourceTableName Chaîne Nom de la table source dans laquelle se trouve la pièce jointe.
    État État de disponibilité, tel que conditionnelle, indisponible, disponible et en attente.
    sysId Chaîne ID unique global unique (GUID) de 32 caractères, qui identifie chaque enregistrement d’une ServiceNow instance.
    balises Chaîne Liste des balises associées à la pièce jointe.
    mises à jour Date Date de la dernière modification de la pièce jointe.
    updatedBy Chaîne Entité qui a mis à jour la pièce jointe.

    NowAttachmentMetadata : encode(vers encodeur : encodeur)

    Code la valeur actuelle de l’objet en données à l’aide de l’encodeur spécifié.

    Si l’objet ne parvient pas à être encodé en données, l’encodeur encode un conteneur clé vide à sa place. Cette fonction génère également une erreur si des valeurs ne sont pas valides pour le format d’encodeur spécifié.

    Tableau 2. Paramètres
    Nom Type Description
    vers l’encodeur Codeur Encodeur qui définit la structure de la sortie codée.
    Tableau 3. Renvoie
    Type Description
    Néant

    L’exemple de code suivant montre comment appeler cette fonction.

    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(à partir du décodeur : Décodeur)

    Crée une nouvelle instance de NowAttachmentMetadata en décodant des données dans un objet à partir du décodeur spécifié.

    Cette méthode génère une erreur si la lecture du décodeur échoue ou si la lecture des données est corrompue ou non valide.

    Tableau 4. Paramètres
    Nom Type Description
    décodeur Décodeur Décodeur à partir duquel lire les données.
    Tableau 5. Renvoie
    Type Description
    Néant

    L’exemple de code suivant montre comment appeler cette fonction.

    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)