我正在尝试使用谷歌应用程序脚本来检索电子邮件附件, 下面是我的代码,用于检查电子邮件中是否有任何附件
function testMail() {
var threads = GmailApp.getInboxThreads();
for (var i = 0; i < 10; i++) {
var mess=threads[i].getMessages()[0];
if (mess.getAttachments().length>0)
{
//var filename=mess.getAttachments()[0].
Logger.log(mess.getSubject());
Logger.log(mess.getAttachments()[0].getName());
var conn = Jdbc.getConnection("jdbc:oracle:thin:@xxx.xxx.xxx.xxx/xxx.xxx.xxx", "xxx","xxxxxxx");
conn.setAutoCommit(false);
var stmt = conn.prepareStatement("insert into blob_table (filnname,blob_field) values (?,?)");
stmt.setString(1, mess.getAttachments()[0].getName());
stmt.setBlob(2, mess.getAttachments()[0]);
var res = stmt.execute();
conn.commit();
conn.close();
break;
}
}
}
但是运行脚本时提示“找不到方法setBlob提示”,如果我只插入字段文件名就可以将数据保存到表blob_table中,请问有什么特殊的方法可以插入blob吗?
谢谢
最佳答案
如果您查看自动完成或文档,您会发现 JDBC 与 Apps 脚本的其余部分不同,它有自己的 JdbcBlob 概念,这与 Blob 不同。 (每个 JdbcBlob 都是一个 Blob,但反之则不然。)您可以像这样将常规 Blob 转换为 JDBC Blob:
conn.createBlob().setBytes(0, myOriginalBlob)
在这种情况下,myOriginalBlob
是您从 mess.getAttachments()[0])
获得的内容
关于google-apps-script - 获取电子邮件附件并保存到 google app 脚本中的 oracle 表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12768011/