【问题标题】:Google Script - Multi File Upload - How to Upload Files to New Sub-folderGoogle Script - 多文件上传 - 如何将文件上传到新的子文件夹
【发布时间】:2014-07-03 00:43:12
【问题描述】:

我正在尝试将以下代码修改为代码,以便将 var fileBlob = e.parameter['file'+i]; 中的所有文件上传到创建的新子文件夹中。

提交上传后,为每个上传的文件创建一个新文件夹,并将每个文件上传到每个文件夹。

如何让 doPost 仅将上传文件提交到新的子文件夹。因此,如果我上传 20 个文件,则仅将 20 个文件添加/上传到一个子文件夹。

多文件上传UI表单

Google 云端硬盘结果

代码

function doPost(e) {
  var foldername = e.parameter.folderName;
  Logger.log('foldername = '+foldername);
  var numFiles = Number(e.parameter.hidden);
  Logger.log('numFiles = '+numFiles);
  for (var i = 1; i<=numFiles; i++){
    Logger.log(i);
    var fileBlob = e.parameter['file'+i];
    Logger.log(fileBlob);
    var newFolder = DocsList.getFolderById("0Bw8NytPhOo00b0xIVm41LWlZRlk").createFolder(foldername);
    newFolder.getUrl();
    Logger.log(newFolder.getUrl());
    var newFile = DocsList.createFile(fileBlob);
    newFile.addToFolder(newFolder);

  }

完整代码 here(由 Serge insas 创建)

【问题讨论】:

标签: google-apps-script google-sheets


【解决方案1】:

正如另一个答案中提到的,文件夹创建应该在循环之前只发生一次,而不是将新文件添加到文件夹中(并将其保留在根文件夹中,除非您将其删除)我建议使用createFile method from the folder class 代替。

代码变得更简单了:

function doPost(e) {
  var foldername = e.parameter.folderName;
  Logger.log('foldername = '+foldername);
  var numFiles = Number(e.parameter.hidden);
  Logger.log('numFiles = '+numFiles);
  var newFolder = DocsList.getFolderById("0Bw8NytPhOo00b0xIVm41LWlZRlk").createFolder(foldername);
  for (var i = 1; i<=numFiles; i++){
    Logger.log(i);
    var fileBlob = e.parameter['file'+i];
    var newFile = newFolder.createFile(fileBlob);// create the file directly in the new folder
  }
}

【讨论】:

  • 塞尔吉,问题。我将 Ui 更改为有一个列表框选择。有没有办法将文件夹 Url 提交到电子表格中的列表框选择行。上传文件后,我希望文件夹 url 提交到 R 列下的该行。[链接]
【解决方案2】:

我认为您的问题是您为每个文件调用 .createFolder。试试放

var newFolder = DocsList.getFolderById("0Bw8NytPhOo00b0xIVm41LWlZRlk").createFolder(foldername);

在 for 循环之外。

【讨论】:

  • 你好彼得,谢谢。因此,它现在创建了一个子文件夹,但它只将一个文件而不是多个文件上传到新创建的文件夹中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-20
  • 2012-05-10
  • 2018-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多