在更新对象时,需要标识其格式。Extender 将把图象、音频或视频对象存储成与源相同的格式。可选择让 Image Extender 转换更新后的图象的格式 (仅针对图象对象)。若要转换图象格式, 则需要指定更新源的格式和目标图象的格式。目标图象就是所存储的已更新图象。
当更新对象而不进行格式转换时,指定源图象、音频或视频对象的格式。例如,C 应用程序中的以下语句更新其内容在服务器文件中的位图 (BMP) 图象。将不转换更新后的图象的格式。
EXEC SQL UPDATE EMPLOYEE SET PICTURE=CONTENT( PICTURE, '/Employee/newimg/ajones.bmp', 'BMP', /*image format*/ '') WHERE NAME='Anita Jones';
还可指定空值或空字符串作为格式, 或者也可以指定字符串 ASIS(仅针对 Image Extender)。然后,Extender 将通过检查源来确定格式。
将 NULL 或 ASIS 用作可识别的格式: 仅当 Extender 可识别该格式时,也就是说, 仅当格式是 表 4 中对 Extender 列示的其中一种格式时, 才指定空值、空字符串或 ASIS。否则,Extender 不能更新对象。
若在更新图象时进行格式转换,同时指定源和目标图象的格式。表 4 列示了允许的格式转换。
另外,还可指定转换选项, 其标识要应用于更新后的图象的附加更改(如旋转或压缩)。通过参数和相关联的值指定每个转换选项。表 5中列示了参数和允许的值。可通过指定多对参数/值来请求对更新的图象进行多处更改。
在下例中,更新其内容在服务器文件中的图象。更新的源使用位图 (BMP) 格式。在更新时,将把格式由 BMP 转换为 GIF。
EXEC SQL UPDATE EMPLOYEE SET PICTURE=CONTENT( PICTURE, '/Employee/newimg/ajones.bmp', 'BMP', /*source format*/ 'GIF', /*target format*/ '') WHERE NAME='Anita Jones';
在下例中,在更新时,将把同一图象转化为 GIF 格式。另外,在更新时还会把图象顺时针旋转 90 度。
EXEC SQL UPDATE EMPLOYEE SET PICTURE=CONTENT( PICTURE, '/Employee/newimg/ajones.bmp', 'BMP', /*source format*/ 'GIF', /*target format*/ '-r 1', /* conversion options */ '') WHERE NAME='Anita Jones';