NowAttachmentStructure des métadonnées : iOS
La structure NowAttachmentMetadata fournit des fonctions qui vous permettent d’encoder et de gérer les métadonnées de pièce jointe.
| 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 :
|
| 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é.
| Nom | Type | Description |
|---|---|---|
| Vers l’encodeur | Codeur | Codeur qui définit la structure de la sortie codée. |
| 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.
| Nom | Type | Description |
|---|---|---|
| décodeur | Décodeur | Décodeur à partir duquel lire les données. |
| 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)