Javascript 如何更改我的Google应用程序脚本代码,以允许将多个文件上载到Google Drive?
我开发了一个网络表单,可以连接到Google Drive,并允许将文件上传到特定文件夹。当前代码只上传第一个选定的文件,我希望能够上传所有选定的文件。我现在的代码贴在下面。有什么建议吗 index.htmlJavascript 如何更改我的Google应用程序脚本代码,以允许将多个文件上载到Google Drive?,javascript,google-apps-script,Javascript,Google Apps Script,我开发了一个网络表单,可以连接到Google Drive,并允许将文件上传到特定文件夹。当前代码只上传第一个选定的文件,我希望能够上传所有选定的文件。我现在的代码贴在下面。有什么建议吗 index.html 智能HR连接数据收集 请上传您的工资账户表&;您最后的日记账分录: var文件, reader=newfilereader(); //将文件上传到谷歌硬盘 reader.onloadend=函数(e){ google.script.run .withSuccessHandler(
智能HR连接数据收集
请上传您的工资账户表&;您最后的日记账分录:
var文件,
reader=newfilereader();
//将文件上传到谷歌硬盘
reader.onloadend=函数(e){
google.script.run
.withSuccessHandler(showMessage)
.UploadFileToLogleDrive(
e、 target.result,file.name,
$('input#DifferentiedName').val()
);
};
函数showMessage(e){
$('#progress').html(e);
}
功能表单已提交(状态){
document.getElementById('genericForm').style.display='none';//与您的表单名称或提交后想要消失的内容匹配
document.getElementById('output')。innerHTML=status;//显示在具有'output'id的项中
file=$('#file')[0]。文件[0];
reader.readAsDataURL(文件);
showMessage(“上传文件…”);
}
您可以参考本教程
function doGet() {
return HtmlService.createHtmlOutputFromFile('form')
.setSandboxMode(HtmlService.SandboxMode.IFRAME);
}
function uploadFileToDrive(base64Data, fileName, dropbox) {
try{
var splitBase = base64Data.split(','),
type = splitBase[0].split(';')[0].replace('data:','');
var byteCharacters = Utilities.base64Decode(splitBase[1]);
var ss = Utilities.newBlob(byteCharacters, type);
ss.setName(fileName);
//var dropbox = "WTELNSD2016"; // Folder Name
var folder, folders = DriveApp.getFoldersByName(dropbox);
if (folders.hasNext()) {
folder = folders.next();
} else {
folder = DriveApp.createFolder(dropbox);
}
var file = folder.createFile(ss);
return file.getName();
}catch(e){
return 'Error: ' + e.toString();
}
}
如本文所述,多属性仅在IFRAME模式下工作,但文件输入在IFRAME模式下中断
希望这有帮助