gpt4 book ai didi

javascript - 将 GCSQL 中存储为 blob 的 SVG 图像转换为 Apps 脚本中的字符串

转载 作者:行者123 更新时间:2023-11-29 17:12:05 25 4
gpt4 key购买 nike

我需要将 SVG 图像存储在 Google Cloud SQL (MySQL) 表中,然后提取它们,以便使用 XML 服务修改 Apps 脚本中的某些 XML 属性值。图像存储在云端硬盘中。首先,我尝试将图像作为字符串插入数据库中,但收到一条错误消息:“参数太大”。然后我尝试做同样的事情,但将图像作为 Blob 发送,这显然解决了这个问题,但是当我执行查询来提取 Blob,然后将它们转换为字符串时,我收到一个错误:“服务错误:JdbcBlob”。我的代码如下,知道是什么导致了这个错误吗?我已经阅读了文档,但找不到解决方案。

    function xmlRead(){    

var id = "some id";
var rawXml = DriveApp.getFileById(id).getBlob();

var params = {
ip: "some ip",
user: "some user",
password: "some password",
database: "some db"
}

var dbUrl = 'jdbc:mysql://' + params.ip + '/' + params.database;
var conn = Jdbc.getConnection(dbUrl, params.user, params.password);
var stmt = conn.createStatement();

var sql = "INSERT INTO pruebas_conexion_blob (datos) VALUES ('" + rawXml + "');";
var results = stmt.executeUpdate(sql);

var sql_blob = "SELECT * FROM pruebas_conexion_blob WHERE id = (SELECT MAX(id) FROM pruebas_conexion_blob)";
var results = stmt.executeQuery(sql_blob); //type jdbcresultset

while (results.next()) {
var results_blob =
results.getBlob('datos').getAppsScriptBlob().getDataAsString(); //error happens on this line
}

var xml = XmlService.parse(results_blob);
return xml;
}

顺便说一句,这是我在 Stackoverflow 上的第一篇文章,如果我违反了规则,请告诉我。

最佳答案

我解决了我的问题,这是代码:

function xmlRead(){    

var id = "some id";
var rawXml = DriveApp.getFileById(id).getBlob().getBytes();

var params = {
ip: "some ip",
user: "some user",
password: "some password",
database: "some db"
}

var dbUrl = 'jdbc:mysql://' + params.ip + '/' + params.database;
var conn = Jdbc.getConnection(dbUrl, params.user, params.password);
var stmt = conn.createStatement();

var statement = conn.prepareStatement("INSERT INTO pruebas_conexion_blob (datos) VALUES (?)");
statement.setBytes(1, rawXml);
var results = statement.executeUpdate();

var consulta = "SELECT datos FROM pruebas_conexion_blob WHERE id = (SELECT MAX(id) FROM pruebas_conexion_blob)";
results = stmt.executeQuery(consulta);

while (results.next()) {
var results_string = results.getString('datos');
}

results.close();
stmt.close();
statement.close();

var xml = XmlService.parse(results_string);
return xml;
}

关于javascript - 将 GCSQL 中存储为 blob 的 SVG 图像转换为 Apps 脚本中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51827169/

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