Serialize e trabalhe com um documento em um banco de dados

Uma das tarefas que você pode precisar fazer quando trabalhar com documentos está armazenando e recuperando Document objetos para e de um banco de dados. Por exemplo, isso seria necessário se você estivesse implementando qualquer tipo de sistema de gerenciamento de conteúdo. Todas as versões anteriores dos documentos devem ser armazenadas no sistema de banco de dados. A capacidade de armazenar documentos no banco de dados também é extremamente útil quando sua aplicação fornece um serviço baseado na web.

Aspose.Words fornece uma capacidade de converter um documento em um array byte para o trabalho subsequente com este documento em um banco de dados.

Converter um documento para Byte Array

Para armazenar um documento em um banco de dados ou preparar um documento para a transmissão em toda a web, muitas vezes é necessário serializar o documento para obter um array byte.

Para serializar um Document objeto em Aspose.Words:

  1. Guarda-o para um MemoryStream usando o Save sobrecarga do método Document classe.
  2. Chamar ToArray método, que retorna um array de bytes representando o documento em forma byte.

Os passos acima então podem ser revertidos para carregar os bytes de volta em um Document objeto.

O exemplo abaixo mostra como serializar um Document objeto para obter um array byte e, em seguida, como unserialize o array byte para obter um Document objeto novamente:

Armazenar, ler e excluir um documento em um banco de dados

Esta seção mostra como salvar um documento em um banco de dados e depois carregá-lo de volta em um Document objeto para trabalhar com ele. Para simplicidade, o nome do arquivo é a chave usada para armazenar e buscar documentos do banco de dados. O banco de dados contém duas colunas. A primeira coluna “FileName” é armazenada como uma corda e é usada para identificar documentos. A segunda coluna “FileContent” é armazenada como uma BLOB objeto que armazena o objeto do documento no formulário byte.

O exemplo de código a seguir mostra como configurar uma conexão com um banco de dados e executar comandos:

O exemplo de código a seguir mostra como salvar um documento no banco de dados, depois ler o mesmo documento novamente, e finalmente excluir o registro contendo o documento do banco de dados:

Salvar um documento em um banco de dados

Para salvar um documento em um banco de dados converter este documento para uma variedade de bytes, como descrito no início deste artigo. Então, salve este array byte em um campo de banco de dados.

O exemplo de código a seguir mostra como salvar um documento no banco de dados especificado:

Especifique commandString, que é uma expressão SQL que faz todo o trabalho:

  • Não. Para salvar um documento no banco de dados, o comando “INSERT INTO” é usado e uma tabela especificada junto com os valores de dois campos de registro – FileName e FileContent. Para evitar parâmetros adicionais, o nome do arquivo é retirado do Document objeto em si. O FileContent valor de campo é atribuído bytes do fluxo de memória, que contém uma representação binária do documento armazenado.
  • Não. A linha restante do código executa o comando que armazena o Aspose.Words documento na base de dados.

Recupere um documento de um banco de dados

Para recuperar um documento do banco de dados, selecione o registro que contém os dados do documento como um array de bytes. Em seguida, carregue o array byte do registro em MemoryStream e criar um Document objeto que carregará o documento do MemoryStream.

O exemplo de código a seguir mostra como recuperar e devolver um documento do banco de dados especificado usando o nome do arquivo como uma chave para buscar este documento:

Excluir um documento de um banco de dados

Para excluir um documento do banco de dados, use o comando SQL apropriado sem qualquer manipulação no Document objeto.

O exemplo de código a seguir mostra como excluir um documento do banco de dados, usando o nome do arquivo para buscar o registro: