You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google表单多文件上传至指定Drive文件夹失败的技术求助

解决Google表单多文件上传到指定文件夹的问题

问题根源在于:多文件上传时,getResponse()返回的是逗号分隔的文件ID字符串,而非单个ID,直接传入getFileById()会导致识别失败。只需将该字符串拆分为数组,逐个处理每个ID即可解决问题,修改后的完整代码如下:

function saveDetailsInFolder(e) {
  var submissionResponses = e.response.getItemResponses();
  var name = submissionResponses[0].getResponse();
  var parentFolder = DriveApp.getFolderById("My desired parent folder");
  var newFolder = parentFolder.createFolder(name);

  var fileUploads = submissionResponses.filter(item => item.getItem().getType().toString() === 'FILE_UPLOAD');

  for (var x = 0; x < fileUploads.length; x++) {
    // 将逗号分隔的ID字符串拆分为数组,兼容单/多文件场景
    var fileIds = fileUploads[x].getResponse().split(',');
    // 遍历数组处理每个文件ID
    for (var i = 0; i < fileIds.length; i++) {
      var fileId = fileIds[i].trim(); // 去除可能的空格,避免格式问题
      if (fileId) { // 跳过空值,防止无效ID报错
        DriveApp.getFileById(fileId).makeCopy(newFolder);
      }
    }
  }
}

关键修改说明

  1. 拆分ID字符串:用split(',')将多文件的ID字符串拆分为数组,单文件场景下数组长度为1,不影响原有逻辑。
  2. 增强健壮性:添加trim()处理可能存在的空格(部分场景下逗号后会带空格),同时增加空值判断,避免无效ID触发错误。
  3. 嵌套循环处理:外层循环遍历所有文件上传项,内层循环处理当前项的所有文件ID。

内容的提问来源于stack exchange,提问作者Joshua

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 14:42:39