Google表单文件上传:获取文件名而不是文件链接

问题描述 投票:1回答:1

我有一个简单的Google表单,其中包含文件上传选项。上载的文件保存在我的驱动器文件夹中。然后,我有一个简单的脚本,该脚本在表单提交时执行,以将表单值(上传文件名,名称和电子邮件)保存到文本文件。这是我的应用程序脚本:

function onSubmit(e)
{
  var file = e.values[1]; // getting the link instead of the filename 
  var name = e.values[2];
  var email = e.values[3];

  var folderId = "0B6de05UZOb0y1ck4tV3BPWldpMU14SGZncnlHa0tzTXVoZFk";

  var folder = DriveApp.getFolderById(folderId);

  var content = file + "\n" + name + "\n" + email + "\n"

  var file = folder.createFile('My File.txt', content, MimeType.PLAIN_TEXT);  
}

这是输出文件My File.txt的样子:

https://drive.google.com/open?id=1bVbNAnES33oY4gx8npdp51ZSMekQalk
My Name
[email protected]

我的问题是-我想要一个实际的文件名,而不是指向上传文件的链接。有没有办法从表单响应参数e中获取文件名?

google-apps-script file-upload google-api google-drive-api google-form
1个回答
2
投票

如果具有文件ID,则可以使用getName()方法获取文件名。

Documentation

示例

function driveFile(){

  //e.values[1] is apparently the file URL 
  var url = "https://drive.google.com/open?id=1bVbNAnES33oY4gx8npdp51ZSMekQalk"
  var id = url.split("=")[1];

  var file = DriveApp.getFileById(id);
  var fileName = file.getName();

}
© www.soinside.com 2019 - 2024. All rights reserved.