Google将多个文件写入多个Google云端硬盘文件夹

时间:2016-01-30 18:15:37

标签: javascript forms file-upload google-apps-script google-drive-api

我有一个Google Script代码,允许用户以HTML格式输入两个文件,并将它们放入我的Google云端硬盘中的指定文件夹中。该代码指定按名称查找文件夹,以及他们是否不在那里创建它们。当文件夹不存在于我的云端硬盘中时,它可以正常工作,但是当文件夹存在时,它会给我这个错误:

  

异常:无法检索下一个对象:迭代器已到达终点。

如果文件夹确实存在于云端硬盘中,那么就像存放在那里的文件一样。

我对Java不是很有经验,但我怀疑问题出在第17-21和23-27行的folders.hasNext()语句,或者我定义两个文件夹的方式。

function doGet(e) {
return HtmlService.createHtmlOutputFromFile('form.html');

}

function uploadFiles(form) {

 try {

var dropbox = "barGraph";
var dropbox2 = "myPlate";
var folder, folders = DriveApp.getFoldersByName(dropbox);
var folder2, folders2 = DriveApp.getFoldersByName(dropbox2);

if (folders.hasNext()) {
  folder = folders.next();
} else {
  folder = DriveApp.createFolder(dropbox);
}

if(folders2.hasNext()){
  folder2 = folders.next();
} else {
  folder2 = DriveApp.createFolder(dropbox2);
}

var blob1 = form.bargraph;    
var f1 = folder.createFile(blob1);    
f1.setDescription("Uploaded by " + form.myName);
f1.setName(form.myName);

var blob2 = form.foodchart;    
var f2 = folder2.createFile(blob2);    
f2.setDescription("Uploaded by " + form.myName);
f2.setName(form.myName);

return "File uploaded successfully :" + f1.getUrl() + '; '+f2.getUrl();

  } catch (error) {

return error.toString();
 }

}

0 个答案:

没有答案