Загрузка файла формы Google: получить имя файла вместо ссылки на файл - PullRequest
1 голос
/ 17 октября 2019

У меня есть простая форма 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
my@email.com

Мой вопрос - вместо ссылки на загруженный файл,Я хотел бы иметь фактическое имя файла. Есть ли способ получить имя файла из параметра формы ответов e?

1 Ответ

2 голосов
/ 17 октября 2019

Если у вас есть идентификатор файла, вы можете получить имя файла с помощью метода getName ().

Документация

Пример

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();

}
...