Lors de la mise à jour d'un objet, vous devez indiquer son format. Les extensions stockent les données de mise à jour d'un objet image, audio ou vidéo dans leur format d'origine. Pour les objets image uniquement, l'extension Image peut convertir le format de l'image mise à jour. Si vous souhaitez convertir l'image, il convient de spécifier le format des données de mise à jour et le format de l'image cible (c'est-à-dire le format de stockage de l'image modifiée).
Lors d'une mise à jour sans conversion de format, indiquez le format de l'objet image, audio ou vidéo source. Par exemple, l'instruction ci-après, incluse dans un programme d'application en langage C, met à jour une image bitmap (BMP) qui réside dans un fichier du serveur. Le format de l'image mise à jour est conservé.
EXEC SQL UPDATE EMPLOYEE SET PICTURE=CONTENT( PICTURE, '/Employés/nouvimg/adupont.bmp', 'BMP', /*format image*/ '') WHERE NAME='Anne Dupont';
Vous pouvez également indiquer comme format la valeur NULL, une chaîne vide ou, dans le cas de l'extension Image uniquement, la chaîne de caractères ASIS. L'extension détermine alors le format en examinant les données source.
Utilisation de NULL ou ASIS pour les formats reconnus : Spécifiez la valeur NULL, une chaîne vide ou ASIS uniquement si le format est reconnaissable par l'extension, c'est-à-dire s'il s'agit des formats répertoriés pour cette extension dans le Tableau 4. Sinon, l'extension ne peut pas mettre à jour l'objet.
Lors d'une mise à jour avec conversion de format, indiquez le format des images source et cible. Le Tableau 4, répertorie les conversions de format admises.
En outre, vous pouvez spécifier les options de conversion identifiant des modifications supplémentaires, telles que la rotation ou la compression, que vous souhaitez appliquer à l'image modifiée. Vous spécifiez chaque option de conversion grâce à un paramètre et à une valeur associée. Les paramètres et les valeurs autorisées sont répertoriés dans le Tableau 5. Vous pouvez effectuer plusieurs changements sur une image mise à jour en spécifiant plusieurs couples paramètres/valeurs.
L'exemple suivant illustre la mise à jour d'une image se trouvant dans un fichier du serveur. Les données de mise à jour sont au format bitmap (BMP). Le format est converti de BMP en GIF à la mise à jour.
EXEC SQL UPDATE EMPLOYEE SET PICTURE=CONTENT( PICTURE, '/Employés/nouvimg/adupont.bmp', 'BMP', /*format source*/ 'GIF', /*format cible*/ '') WHERE NAME='Anne Dupont';
Dans l'exemple ci-après, la même image est convertie au format GIF lors de la mise à jour. En outre, l'image subit une rotation de 90 degrés dans le sens des aiguilles d'une montre, lors de la mise à jour.
EXEC SQL UPDATE EMPLOYEE SET PICTURE=CONTENT( PICTURE, '/Employés/nouvimg/adupont.bmp', 'BMP', /*format source*/ 'GIF', /*format cible*/ '-r 1', /* options de conversion */ '') WHERE NAME='Anne Dupont';