gpt4 book ai didi

mysql - 如何将图像以 blob 格式存储到我的 mysql 数据库中?

转载 作者:行者123 更新时间:2023-12-04 09:15:03 24 4
gpt4 key购买 nike

我有一个使用 Google 脚本连接到我的 MySQL 数据库的 Google 表格。
我能够检索我想要的所有文本数据,而不是存储在数据库中的 blob。
这是php代码:

$insert = $conn->query("INSERT into images (image) VALUES ('$base64Img')");
我只留下了一个字段来说明
表中的 blob 列设置为“LONGBLOB”。
如何在 Google 表格中将我的 BLOB 视为图像?
这是我尝试过的:
function readFromTable() {
var conn = Jdbc.getConnection(url, username, password);
var stmt = conn.createStatement();
stmt.setMaxRows(1000);
var results = stmt.executeQuery('SELECT image FROM images');
var numCols = results.getMetaData().getColumnCount();
var spreadsheet = SpreadsheetApp.getActive();
var sheet = spreadsheet.getSheetByName('Sheet1');
var arr=[];
while (results.next()) {
var arr = [];
for (var col = 0; col < numCols; col++) {
arr.push(results.getBlob(col + 1));
}
sheet.appendRow(arr);
}

results.close();
stmt.close();
}
我没有收到任何错误消息,但在我的工作表上它会打印:单元格中的 JdbcBlob 而不是实际图像。
我想将图像放入我的谷歌表格的一个单元格中

最佳答案

  • Get JdbcBlob from JdbcResultSet
  • Get AppsScriptBlob from JdbcBlob
  • Insert AppsScriptBlob to sheet as image
  • const jdbcBlob = results.getBlob(col + 1);
    const appsScriptBlob = jdbcBlob.getAppsScriptBlob();
    sheet.insertImage(appsScriptBlob,1,1);

    //if image data is base64 encoded:
    sheet.insertImage(Utilities.newBlob(Utilities.base64Decode(appsScriptBlob.getDataAsString())),1,1)
    另一种方法是使用 getBytes() 获取字节数组:
    const byteArr = results.getBytes(col + 1);
    //if image data is base64 encoded:
    sheet.insertImage(Utilities.newBlob(Utilities.base64Decode(Utilities.newBlob(byteArr).getDataAsString())),1,1)

    关于mysql - 如何将图像以 blob 格式存储到我的 mysql 数据库中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63264462/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com