DriveApp.createFile(e.parameter.blob);不执行
DriveApp.createFile( e.parameter.blob); Not executing
在 google 应用程序脚本中,以下行引发错误:
DriveApp.createFile( e.parameter.fileupBlob);
其中 fileupBlob
是表单中存储了 BLOB 的隐藏字段。
执行时抛出错误:
Cannot find method createFile((class)). (line 23, file "Code", project
"saving")
DriveApp.createFile
的参数必须是一个 blob。
e.parameter.varName
返回的值是一个字符串。
因此出现错误。从表单返回 blob 的唯一情况是当您使用文件上传小部件时,隐藏小部件的行为类似于文本小部件。
您需要创建如下所示的 blob。假设您传递了一个有效的 blob。编辑:如果驱动器难以从 blob 中确定它是什么类型的文件,您可以自己提供该信息。另一个想法是 blob 可能是 base64 编码的。在创建新的 blob 之前,您可能必须对其进行解码。你还没有发布任何代码,所以我不知道发生了什么。
var name = "fileName.png";
var contentType = "image/png";
var fileBlob = Utilities.newBlob(e.parameter.fileupBlob, contentType, name);
DriveApp.createFile(fileBlob);
知道了! javascript 库正在返回字符串 dataURI,我在 jquery:
中替换了 dataURI 的第一部分
strDataURI=strDataURI.replace("data:image/png;base64,", "");
document.getElementById("blobobj").value = strDataURI;
然后我就可以创建图像了
var str=Utilities.base64Decode(e.blobobj);
var fileBlob = Utilities.newBlob(str).setContentType('image/png');
这样做
let imageBlob = images[0].getBlob();
let name = 'fileName.jpeg';
let contentType = 'image/jpeg';
let fileBlob = Utilities.newBlob(imageBlob.getBytes(), contentType, name);
let imageFile = folder.createFile(fileBlob).setName('ravgeet.jpeg');
在 google 应用程序脚本中,以下行引发错误:
DriveApp.createFile( e.parameter.fileupBlob);
其中 fileupBlob
是表单中存储了 BLOB 的隐藏字段。
执行时抛出错误:
Cannot find method createFile((class)). (line 23, file "Code", project "saving")
DriveApp.createFile
的参数必须是一个 blob。
e.parameter.varName
返回的值是一个字符串。
因此出现错误。从表单返回 blob 的唯一情况是当您使用文件上传小部件时,隐藏小部件的行为类似于文本小部件。
您需要创建如下所示的 blob。假设您传递了一个有效的 blob。编辑:如果驱动器难以从 blob 中确定它是什么类型的文件,您可以自己提供该信息。另一个想法是 blob 可能是 base64 编码的。在创建新的 blob 之前,您可能必须对其进行解码。你还没有发布任何代码,所以我不知道发生了什么。
var name = "fileName.png";
var contentType = "image/png";
var fileBlob = Utilities.newBlob(e.parameter.fileupBlob, contentType, name);
DriveApp.createFile(fileBlob);
知道了! javascript 库正在返回字符串 dataURI,我在 jquery:
中替换了 dataURI 的第一部分strDataURI=strDataURI.replace("data:image/png;base64,", "");
document.getElementById("blobobj").value = strDataURI;
然后我就可以创建图像了
var str=Utilities.base64Decode(e.blobobj);
var fileBlob = Utilities.newBlob(str).setContentType('image/png');
这样做
let imageBlob = images[0].getBlob();
let name = 'fileName.jpeg';
let contentType = 'image/jpeg';
let fileBlob = Utilities.newBlob(imageBlob.getBytes(), contentType, name);
let imageFile = folder.createFile(fileBlob).setName('ravgeet.jpeg');