首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将blob对象存储到mySql数据库?

问如何将blob对象存储到mySql数据库?
EN

Stack Overflow用户
提问于 2021-12-24 11:24:48
回答 1查看 908关注 0票数 2

我在产生小斑点-

代码语言:javascript
复制
let blob = new Blob([document.querySelector("body").outerHTML], {type: 'image/png'});

在我的例子中,上述代码的输出是-

​

现在,我想将生成的blob存储到MySQL数据库中。

我使用MySQL中的BLOB格式来存储图像。

如何将生成的blob对象存储到MySQL?

编辑1 :

我可以在页面底部看到我的图片。

代码语言:javascript
复制
const blobUrl = URL.createObjectURL(blob);
const img = document.createElement('img');
img.src = blobUrl;
document.body.appendChild(img);

但我不知道如何在MySQL中存储作为BLOB的图像。

有什么帮助或建议吗?

编辑2 :

我用表结构作为-

代码语言:javascript
复制
CREATE TABLE images(
    id INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
    image_data LONGBLOB,
    image_title CHAR(50),
    size CHAR(50)
);

但是在image_data中我应该传递什么呢?我只有一个由JavaScript生成的Blob对象。

EN

回答 1

Stack Overflow用户

发布于 2021-12-24 11:44:39

只需将数据存储到LONGBLOB类型中即可。

使用AJAX发送图像数据和图像标题

代码语言:javascript
复制
var data = new FormData();
data.append('title', 'Enter title here');
data.append('image', blob);
$.ajax({
    type: 'POST',
    url: 'upload.php',
    data: fd,
    processData: false,
    contentType: false
}).done(function(data) {
       console.log(data);
});

然后在database中创建表

代码语言:javascript
复制
CREATE TABLE images(
    id INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
    image_data LONGBLOB,
    image_title CHAR(50)
);

现在将数据存储到变量中,将insert存储到创建的database中。

upload.php

代码语言:javascript
复制
$image_data = $_POST['image'];
$title = $_POST['title'];

$sql = "INSERT INTO images(image_data,image_title)
        VALUES('$title','file_get_contents($image_data)')";

mysql_query($sql); 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70472403

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档