如何读取图片文件并存储到数据库的BLOB属性中
原文发布时间:2012-07-16
作者:糖糖
本文演示怎样读取某个文件,例如一些PDF或者JPG,并存储到一个数据库的BLOB字段中
工作空间
演示了如何读取外部文件的内容并转换为一个属性存储在数据库中。在这个案例中,源数据是一组应急设备,并且数据文件夹中的每个应急站点都有一个对应的JPG图片,这些图片存放在文件夹Photos下。我们希望这些数据加载到一个Oracle空间数据库中,同时把JPG文件以BLOB形式储存在数据库中。
本案例中的主要的转换器是AttributeFileReader,它将读取文件夹中的JPG图片并将其存储在属性里面。这个属性在你写模块的数据库中指定为BLOB类型的字段。
PS:AttributeFileWriter可用来执行相反的操作——以JPG格式存储并输出为一个新的JPG文件。转换器:
转换器StringConcatenator:为转换器AttributeFileReader创建要读取并转换的属性,这个属性的内容是一个指向Photos文件夹下的JPG文件的路径。
转换器AttributeFileReader:读取属性中指定的文件的内容。要求有一个即将读取的源文件和一个即将存储内容的属性。
注意储存数据的字段类型为BLOB:
转换完成后你可以在oracl数据库里,在你所创建的表的BLOB字段中打开写入的JPG图片:
延伸
数据可以从表中读取出来,通过利用AttributeFileWriter转换回JPG文件,就像转换器RasterExtractor 和 RasterReplacer一样。
PS:本文是根据safe官网http://fmepedia.safe.com/articles/How_To/How-to-read-the-contents-of-a-file-into-a-database-BLOB-attribute整理修改而来,如果你有safe2012的培训数据,可下载safe文章中的工作空间进行试验。