Serializacja i praca z dokumentem w bazie danych
Jednym z zadań, które należy wykonać podczas pracy z dokumentami jest przechowywanie i pobieranie Document obiektów do i z bazy danych. Na przykład, byłoby to konieczne, gdyby wdrażano jakikolwiek rodzaj systemu zarządzania treścią. Wszystkie poprzednie wersje dokumentów muszą być przechowywane w systemie baz danych. Możliwość przechowywania dokumentów w bazie danych jest również niezwykle przydatna, gdy aplikacja świadczy usługi oparte na sieci.
Aspose.Words zapewnia możliwość przekształcenia dokumentu w tablicę bajtów do późniejszej pracy z tym dokumentem w bazie danych.
Konwertuj dokument do bajtowej tablicy
Aby przechowywać dokument w bazie danych lub przygotować dokument do transmisji w sieci, często konieczne jest serializowanie dokumentu, aby otrzymać tablicę bajtów.
Aby serializować Document obiekt w Aspose.Words:
- Zachowaj to dla MemoryStream stosowania Save przeciążenie metody Document Klasa.
- Zadzwoń ToArray metoda, która zwraca tablicę bajtów przedstawiającą dokument w formie bajtów.
Stopnie powyżej można odwrócić, aby załadować bajty z powrotem do Document obiekt.
Przykład poniżej pokazuje jak serializować Document obiekt do uzyskania tablicy bajtów, a następnie jak odserializować tablicę bajtów, aby uzyskać Document obiekt ponownie:
Przechowywanie, czytanie i usuwanie dokumentu w bazie danych
Ta sekcja pokazuje, jak zapisać dokument w bazie danych, a następnie załadować go z powrotem do Document
obiekt do pracy z nim. Dla uproszczenia, nazwa pliku jest kluczem do przechowywania i pobierania dokumentów z bazy danych. Baza danych zawiera dwie kolumny. Pierwsza kolumna “FileName” jest przechowywana jako String i służy do identyfikacji dokumentów. Druga kolumna “FileContent” jest przechowywana jako BLOB
obiekt, który przechowuje obiekt dokumentu w formie bajtu.
Poniższy przykład kodu pokazuje jak skonfigurować połączenie z bazą danych i wykonać polecenia:
Poniższy przykład kodu pokazuje, jak zapisać dokument do bazy danych, a następnie ponownie przeczytać ten sam dokument i ostatecznie usunąć zapis zawierający dokument z bazy danych:
Zapisz dokument do bazy danych
Aby zapisać dokument w bazie danych przekonwertować ten dokument do tablicy bajtów, jak opisano na początku tego artykułu. Następnie zapisz tę tablicę bajtów do pola bazy danych.
Poniższy przykład kodu pokazuje jak zapisać dokument do określonej bazy danych:
Określ Komendant String, który jest wyrażeniem SQL, który wykonuje wszystkie prace:
- Aby zapisać dokument do bazy danych, stosuje się polecenie “INSERT INTO” oraz tabelę wraz z wartościami dwóch pól rekordów - FileName i FileContent. Aby uniknąć dodatkowych parametrów, nazwa pliku jest pobierana z Document Sam obiekt. W
FileContent
wartość pola jest przypisywana bajtom ze strumienia pamięci, który zawiera binarną reprezentację zapisanego dokumentu. - Pozostała linia kodu wykonuje polecenie, które przechowuje Aspose.Words dokument w bazie danych.
Pobieranie dokumentu z bazy danych
Aby pobrać dokument z bazy danych, wybierz zapis zawierający dane dokumentu jako tablicę bajtów. Następnie wczytaj tablicę bajtów z rekordu do MemoryStream i utworzyć Document obiekt, który załaduje dokument z MemoryStream.
Poniższy przykład kodu pokazuje jak pobrać i zwrócić dokument z określonej bazy danych używając nazwy pliku jako klucza do pobrania tego dokumentu:
Usuń dokument z bazy danych
Aby usunąć dokument z bazy danych, użyj odpowiedniego polecenia SQL bez żadnych manipulacji na Document obiekt.
Poniższy przykład kodu pokazuje jak usunąć dokument z bazy danych, używając nazwy pliku do pobrania rekordu: