我可以使用Google应用脚本上传多个文件吗?

时间:2014-10-20 12:29:23

标签: javascript html file-upload web-applications google-apps-script

我正在尝试使用也部署为网络应用的Google Apps脚本将文件上传到Google云端硬盘。

在.html文件中我得到了 -

<form id="myForm" action='#' method='post' enctype="multipart/form-data" >

    <input type="file" name="filesToUpload[]" id="filesToUpload" multiple="" />

    <input type="submit" value="Upload File" 
           onclick="this.value='Uploading..';
           google.script.run.uploadFiles(this.parentNode)" id="upload-button">

在.gs文件中我得到了 -

function uploadFiles(form) {
var file = form['filesToUpload[]'];

我已使用此代码部署了网络应用程序(不仅仅是当然的代码)。

每次我在网络应用程序中上传多个文件时,变量 - 'file'只包含我上传的第一个文件。而不是所有的文件。 换句话说,每次我尝试fileUpload-dictionary只包含一个文件时,fileUpload对象都会包含。

fileUpload class - https://developers.google.com/apps-script/reference/ui/file-upload

我阅读了很多文档,我开始认为使用Google应用脚本上传多个文件是不可能的(当然,在一个输入中选择多个文件)。

有人知道吗?

提前致谢!

1 个答案:

答案 0 :(得分:2)

我尝试了一些事情,我同意这是不可能的。有一个弃用的API方法getAllBlobs(),但即使我选择多个文件,即使只返回第一个文件的单元素数组。

在客户端,沙盒模式(运行脚本)似乎阻止fileInput.files属性工作:它始终未定义。

除了完全缺乏相关文档之外,它还得出了一个令人信服的结论:截至2015年5月,Google Scripts不允许上传多个文件。