Structure NowAttachmentMetadata - iOS

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 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 bloc.

    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 de la pièce jointe.
    hachage Chaîne Condensé SHA256 attendu 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 de l’image Entier Largeur de l’image.

    Unité : Pixels

    isCompressed (isCompressed) Booléen Marqueur indiquant si le fichier de 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.
    modificationCount (Nombre de modifications) Entier Nombre de fois où 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 Chaîne Nom de la table source dans laquelle se trouve la pièce jointe.
    État État de disponibilité, par exemple sous conditionnel, 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 de l’objet actuel 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 Encodeur 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(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 à partir 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)