Сериализация и работа с документом в базе данных

Одной из задач, которую вам, возможно, придется выполнить при работе с документами, является хранение и извлечение. Document объектов в базу данных и из нее. Например, это необходимо, если вы внедряете какой-либо тип системы управления контентом. Все предыдущие версии документов должны храниться в базе данных. Возможность хранения документов в базе данных также чрезвычайно полезна, когда ваше приложение предоставляет веб-сервис.

Aspose.Words обеспечивает возможность преобразования документа в байтовый массив для последующей работы с этим документом в базе данных.

Преобразование документа в Byte Array

Чтобы сохранить документ в базе данных или подготовить документ для передачи по сети, часто необходимо сериализовать документ, чтобы получить байтовый массив.

Для сериализации Document объект в Aspose.Words:

  1. Сохранить его в a MemoryStream используя Save метод перегрузки Document класс.
  2. Звони. ToArray метод, который возвращает массив байтов, представляющих документ в байтовой форме.

Вышеуказанные шаги затем можно перевернуть, чтобы загрузить байты обратно в Document объект.

В приведенном ниже примере показано, как сериализовать Document объект для получения байтового массива, а затем как разсериализировать байтовый массив для получения Document Опять возражение:

Вы можете скачать файл шаблона этого примера из Aspose.Words GitHub.

Хранить, читать и удалять документ в базе данных

В этом разделе показано, как сохранить документ в базе данных, а затем загрузить его обратно в базу данных. Document Объект для работы с ним. Для простоты имя файла - это ключ, используемый для хранения и извлечения документов из базы данных. База данных содержит две колонки. Первая колонка “Имя файла” хранится в виде строки и используется для идентификации документов. Вторая колонка “FileContent” хранится в виде BLOB объект, который хранит объект документа в байтовой форме.

Следующий пример кода показывает, как настроить соединение с базой данных и выполнить команды:

Следующий пример кода показывает, как сохранить документ в базу данных, затем снова прочитать тот же документ и, наконец, удалить запись, содержащую документ из базы данных:

Сохранить документ в базу данных

Для сохранения документа в базе данных преобразуйте этот документ в массив байтов, как описано в начале данной статьи. Затем сохраните этот байтовый массив в поле базы данных.

Следующий пример кода показывает, как сохранить документ в указанной базе данных:

Укажите командную строку, которая является выражением SQL, выполняющим всю работу:

  • Для сохранения документа в базе данных используется команда “INSERT INTO” и указанная таблица вместе со значениями двух полей записи - FileName и FileContent. Чтобы избежать дополнительных параметров, имя файла берется из Document сам объект. The FileContent Значение поля присваивается байтами из потока памяти, который содержит двоичное представление сохраненного документа.
  • Оставшаяся строка кода выполняет команду, которая хранит Aspose.Words документ в базе данных.

Восстановление документа из базы данных

Чтобы извлечь документ из базы данных, выберите запись, содержащую данные документа, в виде массива байтов. После этого снимите байт с пластинки. MemoryStream и создать Document объект, который будет загружать документ из MemoryStream.

Следующий пример кода показывает, как извлечь и вернуть документ из указанной базы данных, используя имя файла в качестве ключа для получения этого документа:

Удалить документ из базы данных

Чтобы удалить документ из базы данных, используйте соответствующую команду SQL без каких-либо манипуляций. Document объект.

Следующий пример кода показывает, как удалить документ из базы данных, используя имя файла для получения записи: