Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 谷歌脚本中的多重上传_Html_Arrays_Google Apps Script - Fatal编程技术网

Html 谷歌脚本中的多重上传

Html 谷歌脚本中的多重上传,html,arrays,google-apps-script,Html,Arrays,Google Apps Script,我需要一点帮助。我不是程序员 我正在寻找一个多上传谷歌脚本。我在网上找到了这个免费共享脚本: 我不知道如何编辑它。我真的不是程序员。 我想让2个'选择文件'在一次上传 这是原始形式 <form id="myForm" align="center"> <input type="text" name="myName" placeholder="Your name.."> <input type="file" name="m

我需要一点帮助。我不是程序员

我正在寻找一个多上传谷歌脚本。我在网上找到了这个免费共享脚本:

我不知道如何编辑它。我真的不是程序员。 我想让2个'选择文件'在一次上传

这是原始形式

<form id="myForm" align="center">
            <input type="text" name="myName" placeholder="Your name..">
            <input type="file" name="myFile">
            <input type="submit" value="Upload File" 
           onclick="this.value='Uploading..';
                    google.script.run.withSuccessHandler(fileUploaded)
                    .uploadFiles(this.parentNode);
                    return false;">
          </form>
我想要的是这样的东西

<form id="myForm" align="center">
            <input type="text" name="myName" placeholder="Your name..">
            <input type="file" name="myFile">
            <input type="file" name="myFile">  <--THIS IS MY NEED, Pls don't laugh
            <input type="submit" value="Upload File" 
           onclick="this.value='Uploading..';
                    google.script.run.withSuccessHandler(fileUploaded)
                    .uploadFiles(this.parentNode);
                    return false;">
          </form>
提前谢谢。 干杯 Wan Heri

基于此,从现在起,您必须使用一个来处理多个文件。多重属性仅在IFRAME模式下有效,但文件输入在IFRAME模式下会中断

下面是多文件上传的示例代码。限制是文件必须小于10 MB

function doGet() {
 return HtmlService.createHtmlOutputFromFile('index').setSandboxMode(HtmlService.SandboxMode.IFRAME);

}

function saveFile(data,name,folderId) {

var contentType = data.substring(5,data.indexOf(';'));
var file = Utilities.newBlob(Utilities.base64Decode(data.substr(data.indexOf('base64,')+7)), contentType, name);
  DriveApp.getFolderById(folderId).createFile(file);

}
其他参考资料:


我想出了解决这个问题的相关办法。使用GoogleDriveV3API,您可以通过几种不同的方式上传文件。接受的答案直接使用api上传blob。根据我的实验,这个方法似乎只支持50MB的文件。上载较大的文件需要可恢复的上载方法

我创建了一个示例表单,它可以创建文件夹、上载大文件,并按顺序上载这些文件。我在这里创建了一个git中心:

主要内容包括几个不同的部分。最简单的是,您需要输入多个属性。您需要迭代该输入的文件。大概是这样的:

var files = [...$('#files')[0].files]; // convert from FileList to array
files.forEach(file => { uploadfile(file); });

任何人都可以给我一个共享谷歌脚本有多个上传,我真的需要它。我没有成为一名程序员真是太遗憾了。