Le stockage de divers types de fichiers (par exemple, .gif, .doc, .pdf) dans une base de données présente un défi important. Une solution courante consiste à convertir des fichiers en tableaux d'octets et à les stocker sous forme de données binaires. Mais est-ce la méthode la plus efficace ?
Cette analyse se concentre sur le VARBINARY(MAX)
type de données de SQL Server pour stocker les données de fichiers.
La fonction databaseFilePut
lit un fichier, le transforme en tableau d'octets (en utilisant FileStream
et BinaryReader
), et insère ce tableau dans la colonne Raporty
de la table VARBINARY(MAX)
.
La fonction databaseFileRead
récupère un fichier de la base de données et l'enregistre dans un emplacement spécifié du système de fichiers. Il lit le tableau d'octets de la colonne VARBINARY(MAX)
, reconstruit le fichier et l'écrit dans le chemin désigné.
La fonction databaseFileRead
facilite également la récupération du fichier sous forme de MemoryStream
. Cela permet le traitement des fichiers en mémoire sans avoir besoin de stockage temporaire sur le système de fichiers.
MemoryStream
DonnéesLa fonction databaseFilePut
prend en charge l'insertion directe des données MemoryStream
dans la colonne VARBINARY(MAX)
. Il convertit le MemoryStream
en un tableau d'octets avant l'insertion dans la base de données.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!