Сериализация и работа с документом в базе данных
Одной из задач, которую вам, возможно, придется выполнить при работе с документами, является хранение и извлечение. Document объектов в базу данных и из нее. Например, это необходимо, если вы внедряете какой-либо тип системы управления контентом. Все предыдущие версии документов должны храниться в базе данных. Возможность хранения документов в базе данных также чрезвычайно полезна, когда ваше приложение предоставляет веб-сервис.
Aspose.Words обеспечивает возможность преобразования документа в байтовый массив для последующей работы с этим документом в базе данных.
Преобразование документа в Byte Array
Чтобы сохранить документ в базе данных или подготовить документ для передачи по сети, часто необходимо сериализовать документ, чтобы получить байтовый массив.
Для сериализации Document объект в Aspose.Words:
- Сохранить его в a MemoryStream используя Save метод перегрузки Document класс.
- Звони. 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 объект.
Следующий пример кода показывает, как удалить документ из базы данных, используя имя файла для получения записи: