gpt4 book ai didi

google-apps-script - 如何在 Google Apps 脚本 (Google Drive API) 中向 blob 添加/附加字符串

转载 作者:行者123 更新时间:2023-12-03 04:16:29 25 4
gpt4 key购买 nike

此代码确实有效,除了这部分 Drive.Files.update(thefile, theFileID, UpdatedBlob);

var folder = DriveApp.getFolderById("0B0RcUNcUERU5MGpIaEXXXXXXXX");
var file = DriveApp.getFileById("NcUERXXXXXXXXERU5UWQUTZKY2X2");
var file2 = DriveApp.getFileById("NcUERXXXXXXXXERU5UWDDDDDDD2");

var myString = "sometext";
var updatedBlob = file.getBlob() + myString;

var myFileName = "StringAddedFile.mp4";
var thefile = {
title: myFileName,
mimeType: 'video/mp4'
};

var allFilesByName = folder.getFilesByName(myFileName);
while (allFilesByName.hasNext()) {
var thisFile = allFilesByName.next();
var theFileID = thisFile.getId();
var myVar = Drive.Files.update(thefile, theFileID, updatedBlob);
};

我已经尝试过:

file.getBlob() + myString;
file.getBlob().getDataAsString() + myString;
file.getBlob().getDataAsString() + file2.getBlob().getDataAsString();
file.getAs() + file2.getAs();
file.getBlob() + file2.getBlob();

...

收到此错误消息:“mediaData 参数仅支持上传 Blob 类型。”

如何将 myString 添加/附加到文件

最佳答案

您似乎正在尝试向 mimeType: 'video/mp4' 文件添加某些内容。看起来您需要从字符串创建一个 blob。您可以使用实用程序服务来执行此操作。

对于字符串

  • 创建一个 Base 64 编码字符串
  • 将字符串编码为字节数组

对于文件

  • 获取文件作为 blob
  • 将 blob 转换为字节

合并

  • 合并两个文件的字节
  • 使用另一个 blob 将文件更新为 blob

代码:

var myString = "sometext";
var encoded = Utilities.base64Encode(myString);
var byteDataArray = Utilities.base64Decode(encoded);

var file = DriveApp.getFileById("File ID here");
var fileAsBlob = file.getBlob();
var fileAsBytes = fileAsBlob.getBytes();

var combinedBytes = byteDataArray.concat(fileAsBytes);
var allBytesAsBlob = Utilities.newBlob(combinedBytes);

var updatedBlob = Drive.Files.update(thefile, theFileID, allBytesAsBlob);

这是一个值得尝试的建议。还没有测试过。不知道它是否会起作用,但没有其他人回答,所以尝试一下也没什么坏处。我将让您尝试,并让我知道它是否有效。

关于google-apps-script - 如何在 Google Apps 脚本 (Google Drive API) 中向 blob 添加/附加字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29847637/

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