Javascript Google脚本无法上载文件
我试图在Google工作表中添加一个菜单选项,将文件上传到驱动器,然后在工作表中插入指向该文件的链接。从HTML调用的上载函数有问题 代码.gsJavascript Google脚本无法上载文件,javascript,html,google-apps-script,google-sheets,google-drive-api,Javascript,Html,Google Apps Script,Google Sheets,Google Drive Api,我试图在Google工作表中添加一个菜单选项,将文件上传到驱动器,然后在工作表中插入指向该文件的链接。从HTML调用的上载函数有问题 代码.gs 开启功能(e){ Logger.log(“打开的电子表格”); var ss=SpreadsheetApp.getActiveSpreadsheet(); var指数=[]; push({name:“File”,functionName:“openHTMLUploadDialogue”}); ss.addMenu(“附加!”,菜单); } 函数open
开启功能(e){
Logger.log(“打开的电子表格”);
var ss=SpreadsheetApp.getActiveSpreadsheet();
var指数=[];
push({name:“File”,functionName:“openHTMLUploadDialogue”});
ss.addMenu(“附加!”,菜单);
}
函数openHTMLUploadDialogue(e){
var html=HtmlService.createhtmloutpfromfile('UploadForm');
SpreadsheetApp.getUi().showModalDialog(html,“上传文件”);
//这是印刷品
Logger.log('对话框已打开');
}
功能上传(obj){
//这是从未印刷过的
Logger.log('Obj received:',Obj.fname);
//检索表单对象的输入数据。
var newFileName=obj.fname;
var rowNum=对象位置;
var blob=obj.file;
var upFile=DriveApp.getFolderById(getParentFolderID()).createFile(blob).setName(newFileName);
var fileUrl=upFile.getUrl();
var urlCell=SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1').getRange(rowNum,5);
setValue('=HYPERLINK(“+fileUrl+”,“查看文件”);
}
函数getParentFolderID(){
var ss=SpreadsheetApp.getActiveSpreadsheet();
var file=DriveApp.getFileById(ss.getId());
var folderinDrive=file.getParents().next();
Logger.log(folderDrive.getName());
返回folderDrive.getId();
}
UploadForm.HTML
请上传下面的图片。
“传输过程中出错…”总是出现,因此您可以忽略该错误。Google应用程序脚本执行页面中记录了什么?您是否尝试过在匿名模式下使用Chrome,禁用所有扩展并在单个帐户中登录?看起来您忘记了在表单中添加preventDefault()
。我认为这将帮助您解决您的问题problem@Rub谢谢,我在匿名运行中添加了执行页面输出,输出没有变化。另外,func1
中的preventDefault()
也应该这样做,但显然没有触发。向表单中添加preventDefault()
的好方法是什么?