我是 PLPGSQL 的新手。
我正在开发一个应用程序,用户将在其中选择一个图像,并在提交时调用 plpgsql 过程,该过程将把图像保存在服务器上。
当图像以 BLOB 格式出现时,有什么方法可以将 BLOB 数据转换为 plpgsql 中的图像?
我是 PLPGSQL 的新手。
我正在开发一个应用程序,用户将在其中选择一个图像,并在提交时调用 plpgsql 过程,该过程将把图像保存在服务器上。
当图像以 BLOB 格式出现时,有什么方法可以将 BLOB 数据转换为 plpgsql 中的图像?
您可以对大型对象使用服务器端功能。手册中有代码示例:
SELECT lo_export(image.raster, '/tmp/motd') FROM image
WHERE name = 'beautiful image';
这会将文件写入服务器上的文件系统。
要从 PL/pgSQL 函数调用它,您将替换SELECT
为PERFORM
.
通常将图像存储在文件系统中会更有效。考虑这个相关的答案:
Storing long binary (raw data) strings