---
title: "Серіалізація та робота з документом в базі даних"
---


Одна з завдань, які ви можете зробити при роботі з документами, зберігання та перерозподілу документів **Document** об'єкти і з бази даних. Наприклад, це буде необхідно, якщо ви запровадили будь-який тип системи управління контентом. Всі попередні версії документів необхідно зберігати в базі даних. Уміння зберігати документи в базі даних також надзвичайно корисно, коли ваша заявка надає послуги на веб-сайті.

Aspose.Words надає можливість перетворювати документ в байтовий масив для подальшої роботи з цим документом в базі даних.

## Перетворення документа в Byte Array

Щоб зберігати документ у базі даних або підготувати документ для передачі через веб-сайт, потрібно часто засвідчити документ, щоб отримати байтовий масив.

Для серіалізації [Document](https://reference.aspose.com/words/java/com.aspose.words/document/) об'єкт в Aspose.Words:

1,1 км Збережіть його на **MemoryStream** використання [Save](https://reference.aspose.com/words/java/com.aspose.words/document/#save-java.io.OutputStream-int) метод перевантаження **Document** клас.
1,1 км Дзвоните до **ToArray** метод, який повертає масив байтів, що представляють документ у байтній формі.

Ви можете перевернутися до завантаження байтів назад в **Document** об'єкт.

{{% alert color="primary" %}}

Вибраний формат збереження є важливим для забезпечення найвищої точності, зберігаючи при збереженні та перевантаженні в **Document** об'єкт. З цієї причини пропонується використовувати серію форматів файлів OOXML.

{{% /alert %}}

Приклад нижче показує, як серіалізувати **Document** об'єкт для отримання масиву байтів, а потім як несеріалізації масиву байтів для отримання **Document** об'єкт знову:

{{< gist "aspose-words-gists" "827e71ccc0b8516a3cfe247b86ce6d4e" "Examples-src-main-java-com-aspose-words-examples-loading_saving-ConvertDocumentToByte-ConvertDocumentToByte.java" >}}

{{% alert color="primary" %}}

Ви можете завантажити файл шаблону цього прикладу з [Aspose.Words GitHub](https://github.com/aspose-words/Aspose.Words-for-Java/blob/master/Examples/Data/Document.doc)й

{{% /alert %}}

## Зберігати та видаляти документ у базі даних

Цей розділ показує, як зберегти документ в базі даних, а потім завантажити його назад в базу даних `Document` об'єкт для роботи з ним. Для простоти, ім'я файлу є ключем, який використовується для зберігання та обробки документів з бази даних. База даних містить два стовпчики. Перший стовпчик "Файлім’я" зберігається як Рядок і використовується для ідентифікації документів. Другий стовпчик "FileContent" зберігається в якості `BLOB` об'єкт, який зберігає об'єкт документа в байтній формі.

Приклад коду показує, як налаштувати підключення до бази даних та виконувати команди:

{{< gist "aspose-words-gists" "827e71ccc0b8516a3cfe247b86ce6d4e" "Examples-src-main-java-com-aspose-words-examples-loading_saving-LoadAndSaveFromDatabase-OpenDatabaseConnection.java" >}}

{{% alert color="primary" %}}

У цьому прикладі ми використовуємо базу даних MySQL для зберігання Aspose.Words документ.

{{% /alert %}}

Наприклад, наступний код показує, як зберегти документ на базу даних, а потім читати той самий документ знову, і, нарешті, видалити запис, що містить документ з бази даних:

{{< gist "aspose-words-gists" "827e71ccc0b8516a3cfe247b86ce6d4e" "Examples-src-main-java-com-aspose-words-examples-loading_saving-LoadAndSaveFromDatabase-OpenRetrieveAndDelete.java" >}}

### Зберегти документ до бази даних

Для збереження документа в базі даних перетворюйте цей документ в масив байтів, як описано на початку цієї статті. Потім зберегти цей байтовий масив в поле бази даних.

Приклад коду показує, як зберегти документ на вказану базу даних:

{{< gist "aspose-words-gists" "827e71ccc0b8516a3cfe247b86ce6d4e" "Examples-src-main-java-com-aspose-words-examples-loading_saving-LoadAndSaveFromDatabase-StoreToDatabase.java" >}}

Вкажіть командуString, який є виразом SQL, який робить всі роботи:

- до Для збереження документа в базу даних використовується команда "INSERT INTO" і таблиця, вказаний разом з значеннями двох записів полів – FileName і FileContent. Щоб уникнути додаткових параметрів, ім'я файлу береться з **Document** сам об'єкт. Про нас `FileContent` значення поля призначено байтів з потоку пам'яті, що містить бінарне уявлення про збережений документ.
- до Решта рядка коду виконує команду, яка зберігає команду Aspose.Words документ у базі даних.

### Отримати документ з бази даних

Для отримання документа з бази даних виберіть запис, який містить дані документа як масив байтів. Потім завантажте байтовий масив з запису в **MemoryStream** і створити **Document** об'єкт, який навантажить документ з документа **MemoryStream**й

Приклад наступного коду показує, як отримати і повернути документ з вказаної бази даних, використовуючи ім'я файлу як ключ, щоб фіксувати цей документ:

{{< gist "aspose-words-gists" "827e71ccc0b8516a3cfe247b86ce6d4e" "Examples-src-main-java-com-aspose-words-examples-loading_saving-LoadAndSaveFromDatabase-ReadFromDatabase.java" >}}

{{% alert color="primary" %}}

Команда SQL "SELECT * З" використовується для вилучення відповідного запису на основі імені файлу.

{{% /alert %}}

### Видалення документа з бази даних

Для видалення документа з бази даних використовуйте відповідну команду SQL без будь-яких маніпуляцій на базі даних **Document** об'єкт.

Приклад наступного коду показує, як видалити документ з бази даних, використовуючи ім'я файлу, щоб фіксувати запис:

{{< gist "aspose-words-gists" "827e71ccc0b8516a3cfe247b86ce6d4e" "Examples-src-main-java-com-aspose-words-examples-loading_saving-LoadAndSaveFromDatabase-DeleteFromDatabase.java" >}}
