我正在尝试使用也部署为网络应用的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应用脚本上传多个文件是不可能的(当然,在一个输入中选择多个文件)。
有人知道吗?
提前致谢!
答案 0 :(得分:2)
我尝试了一些事情,我同意这是不可能的。有一个弃用的API方法getAllBlobs(),但即使我选择多个文件,即使只返回第一个文件的单元素数组。
在客户端,沙盒模式(运行脚本)似乎阻止fileInput.files属性工作:它始终未定义。
除了完全缺乏相关文档之外,它还得出了一个令人信服的结论:截至2015年5月,Google Scripts不允许上传多个文件。