我想插入图像到一个表像
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
我有三个回答这个问题:
这是对用户体验 UX最好的做法是使用BLOB和CLOB数据类型的字符串,并从SQL数据库从而检索二进制数据,建议您使用包含在数据库中存储了图像的URL(或任何二进制文件的技术)。 此URL将帮助用户应用程序检索和使用这个二进制文件。
其次的BLOB和CLOB数据类型仅适用于多个SQL版本,这样的功能,如LOAD_FILE或本身可能在有些版本中错过的数据类型。
三是不要使用BLOB或CLOB。 存储URL; 让用户从应用程序的文件夹访问的二进制文件在项目目录。
如果我使用下面的查询,
INSERT INTO xx_BLOB(ID,IMAGE)
VALUES(1,LOAD_FILE('E:/Images/xxx.png'));
错误:没有这样的功能:LOAD_FILE
我尝试了所有上述溶液和失败,它只是增加了一个空文件到数据库。
但是,我能够得到它通过移动图像(做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'));
希望这可以帮助。