NowAttachmentStructure des métadonnées : iOS

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 2 minutes de lecture
  • La structure NowAttachmentMetadata fournit des fonctions qui vous permettent d’encoder et de gérer les métadonnées de pièce jointe.

    Tableau 1. Propriétés
    Nom Type Description
    averageImageColor (en anglais seulement) 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 son résumé calculé à ce résumé SHA256.

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

    Unité : Pixels

    Largeur de l’image Entier Largeur de l’image.

    Unité : Pixels

    isCompressed (isCompressed) Booléen Marqueur indiquant si le fichier en pièce jointe est compressé.
    Valeurs possibles :
    • true : la pièce jointe est compressée.
    • false : la pièce jointe n’est pas compressée.
    mimeType Chaîne Type MIME de la pièce jointe.
    Nombre de modifications Entier Nombre de fois que la pièce jointe a été modifiée.
    sizeInBytes Entier Taille de la pièce jointe.

    Unité : octets

    sourceSysId Chaîne Sys_id du fichier joint.
    sourceTableName (en anglais seulement) Chaîne Nom de la table source dans laquelle réside la pièce jointe.
    État État de disponibilité, par exemple sous condition, indisponible, disponible et en attente.
    sysId Chaîne ID global unique (GUID) unique de 32 caractères qui identifie chaque enregistrement dans 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(to encoder : Encoder)

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

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

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

    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(from decoder : Decoder)

    Crée une nouvelle instance NowAttachmentMetadata en décodant les 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 les données lues sont corrompues ou invalides.

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

    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)