JHipster-Liquibase:如何上传图像文件 blob?
JHipster-Liquibase: How to upload an Image file blob?
给定一个包含以下列的 table:
<column name="image" type="longblob">
<constraints nullable="true" />
</column>
<column name="image_content_type" type="varchar(255)">
<constraints nullable="true" />
</column>
如何从文件上传图像,例如MyImage.jpeg?底层数据库是 PostgreSQL。
以下 changeSet 满足了我的需求:
<changeSet id="632342634534534e53" author="developer">
<update schemaName="public"
tableName="my_table">
<column name="image" type="longblob" valueBlobFile="../../../images/1.MyImage.jpg"/>
<column name="image_content_type" type="varchar(255)" value="image/jpeg"/>
<where>id = 1</where>
</update>
</changeSet>
这是图像的路径:
/src/main/resources/images
这是更新日志的路径:
/src/main/resources/config/liquibase/changelog/MyChangelog.xml
我有一个类似的问题,但在我的情况下,只要列类型是 OID 而不是 Blob (postgres 12.x)
所以我得到了下面的解决方案,它使用 computedValue 和 postgres 的函数将 Base64 图像转换为 OID。
<insert tableName="IMAGES">
<column name="image_id" valueSequenceNext="image_id_seq"/>
<column name="name" value="some image name"/>
<column name="content" valueComputed="lo_from_bytea(0, decode('DLxmEfVUC9CAmjiNyVphWw==', 'base64'))"/>
</insert>
希望对大家有所帮助!
给定一个包含以下列的 table:
<column name="image" type="longblob">
<constraints nullable="true" />
</column>
<column name="image_content_type" type="varchar(255)">
<constraints nullable="true" />
</column>
如何从文件上传图像,例如MyImage.jpeg?底层数据库是 PostgreSQL。
以下 changeSet 满足了我的需求:
<changeSet id="632342634534534e53" author="developer">
<update schemaName="public"
tableName="my_table">
<column name="image" type="longblob" valueBlobFile="../../../images/1.MyImage.jpg"/>
<column name="image_content_type" type="varchar(255)" value="image/jpeg"/>
<where>id = 1</where>
</update>
</changeSet>
这是图像的路径:
/src/main/resources/images
这是更新日志的路径:
/src/main/resources/config/liquibase/changelog/MyChangelog.xml
我有一个类似的问题,但在我的情况下,只要列类型是 OID 而不是 Blob (postgres 12.x)
所以我得到了下面的解决方案,它使用 computedValue 和 postgres 的函数将 Base64 图像转换为 OID。
<insert tableName="IMAGES">
<column name="image_id" valueSequenceNext="image_id_seq"/>
<column name="name" value="some image name"/>
<column name="content" valueComputed="lo_from_bytea(0, decode('DLxmEfVUC9CAmjiNyVphWw==', 'base64'))"/>
</insert>
希望对大家有所帮助!