NowAttachmentEstrutura de metadados - iOS
. NowAttachmentMetadados a estrutura fornece funções que permitem codificar e gerenciar metadados de anexo.
| Nome | Tipo | Descrição |
|---|---|---|
| ImageColor | Cadeia de caracteres | Cor mais dominante na imagem associada. |
| ChunkSizeInBytes | Inteiro | Tamanho de o bloco . Unidade: Bytes |
| Tamanho compactadoem InBytes | Inteiro | Tamanho compactado do anexo. Unidade: Bytes |
| criado(a) | Data | Data em que o anexo foi criado. |
| createdBy | Cadeia de caracteres | Entidade que criou o anexo. |
| download | URL | URL do anexo no ServiceNow instância. |
| nomeArquivo | Cadeia de caracteres | Nome do arquivo de anexo. |
| hash | Cadeia de caracteres | Resumo SHA256 esperado para o anexo. Um anexo baixado é validado Comparando seu resumo calculado com este resumo SHA256. |
| ImageHeight | Inteiro | Altura da imagem. Unidade: Pixels |
| ImageWidth | Inteiro | Largura da imagem. Unidade: Pixels |
| É compactado | Booliano | Sinalizador que indica se o arquivo de anexo está compactado. Valores possíveis:
|
| mimeType | Cadeia de caracteres | Tipo MIME do anexo. |
| ModificationCount | Inteiro | Número de vezes que o anexo foi modificado. |
| sizeInBytes | Inteiro | Tamanho do anexo. Unidade: Bytes |
| sourceSysId | Cadeia de caracteres | Sys_id do arquivo de anexo. |
| SourceTableName | Cadeia de caracteres | Nome da tabela de origem na qual o anexo reside. |
| estado | Estado de disponibilidade, como Condicionalmente, indisponível, Disponível e pendente. | |
| sysId | Cadeia de caracteres | GUID exclusivo de 32 caracteres, que identifica cada registro em um ServiceNow instância. |
| marcadores | Cadeia de caracteres | Lista de marcadores associados ao anexo. |
| atualizado | Data | Data em que o anexo foi modificado pela última vez. |
| updatedBy | Cadeia de caracteres | Entidade que atualizou o anexo. |
NowAttachmentMetadata - encode(para codificador: Encoder)
Codifica o valor do objeto atual em dados usando o codificador especificado.
Se o objeto não for codificado em dados, o codificador codificará um vazio contêiner com chave em seu lugar. Esta função também gera um erro se algum valor for inválido para o formato do codificador especificado.
| Nome | Tipo | Descrição |
|---|---|---|
| para o codificador | Codificador | Codificador que define a estrutura da saída codificada. |
| Tipo | Descrição |
|---|---|
| Nenhum(a) |
O exemplo de código a seguir mostra como chamar esta função.
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(do decodificador: Decoder)
Cria uma nova instância NowAttachmentMetadata decodificando dados em um objeto do decodificador especificado.
Este método gera um erro se a leitura do decodificador falhar ou se a leitura de dados estiver corrompida ou for inválida.
| Nome | Tipo | Descrição |
|---|---|---|
| decodificador | Decodificador | Decodificador do qual ler dados. |
| Tipo | Descrição |
|---|---|
| Nenhum(a) |
O exemplo de código a seguir mostra como chamar esta função.
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)