我想将图像插入到表格中
CREATE TABLE XX_SAMPLE(ID INT
,IMAGE BLOB);
那么你能帮助形成如何将图像插入上表。
我想将图像插入到表格中
CREATE TABLE XX_SAMPLE(ID INT
,IMAGE BLOB);
那么你能帮助形成如何将图像插入上表。
请尝试以下代码
INSERT INTO xx_BLOB(ID,IMAGE) VALUES(1,LOAD_FILE('E:/Images/jack.jpg'));
您应该像这样使用LOAD_FILE:
LOAD_FILE('/some/path/image.png')
你可以试试这样的..
CREATE TABLE 'sample'.'picture' (
'idpicture' INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
'caption' VARCHAR(45) NOT NULL,
'img' LONGBLOB NOT NULL,
PRIMARY KEY('idpicture')) TYPE = InnoDB;
或参考以下链接获取可能对您有所帮助的教程和示例。
http://forums.mysql.com/read.php?20,17671,27914
http://mrarrowhead.com/index.php?page=store_images_mysql_php.php
http://www.hockinson.com/programmer-web-designer-denver-co-usa.php?s=47
如果我使用以下查询,
INSERT INTO xx_BLOB(ID,IMAGE)
VALUES(1,LOAD_FILE('E:/Images/xxx.png'));
错误:没有这样的功能:LOAD_FILE
对于这个问题,我有三个答案:
在字符串中使用 BLOB 和 CLOB 数据类型并从 SQL 数据库中检索二进制数据是违反用户体验UX 最佳实践的,因此建议您使用涉及存储图像 URL(或数据库中的任何二进制文件)的技术)。此 URL 将帮助用户应用程序检索和使用此二进制文件。
其次,BLOB 和 CLOB 数据类型仅适用于许多 SQL 版本,因此诸如 LOAD_FILE 之类的函数或数据类型本身在某些版本中可能会丢失。
第三不要使用 BLOB 或 CLOB。存储网址;让用户应用程序从项目目录中的文件夹访问二进制文件。
我尝试了上述所有解决方案并失败了,它只是向数据库添加了一个空文件。
但是,我能够通过fileName.jpg
首先将图像()文件移动到下面的文件夹(在我的情况下)来完成它C:\ProgramData\MySQL\MySQL Server 5.7\Uploads
,然后我执行下面的命令,它对我有用,
INSERT INTO xx_BLOB(ID,IMAGE) VALUES(1,LOAD_FILE('C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/fileName.jpg'));
希望这可以帮助。
这是在 mysql 工作台上——给出图像文件路径:
INSERT INTO XX_SAMPLE(id,image) VALUES(3,'/home/ganesan-pc/Documents/aios_database/confe.jpg');