Apps Script GUI Builder有些我不理解的东西。 我想要一个文件上传,我不能让它工作。 基本设置:表单面板,流程面板,文件上传,提交按钮。 我没有在On Mouse Click上放置任何事件(我知道doPost默认捕获它)。
相关功能:
function appBVFileUpload2() {
var mydoc = SpreadsheetApp.getActiveSpreadsheet();
var app = UiApp.createApplication().setTitle('File Upload');
app.add(app.loadComponent("ImportationBV")); // load the GUI
mydoc.show(app);
}
function doPost(e) {
// data returned is a blob for FileUpload Form
var fileBlob = e.parameter.thefile; // thefile is the name of the File Upload Object
var doc = DocsList.createFile(fileBlob); // Generate the Error <<<
var app = UiApp.getActiveApplication();
app.close();
return app;
}
所以当点击提交按钮时总是会出错:
遇到错误:发生意外错误
重要提示:错误由行var doc = DocsList.createFile(fileBlob);
生成。所以我怀疑文件上传对象的数据是否未正确接收。
有趣的是,Google here提供的示例对我有用。这意味着如果GUI是通过代码完成的,而不是则通过GUI构建器完成上传工作。
我检查了所有内容,我真的很困惑,并开始认为通过GUI Builder可能存在文件上传的错误。有什么帮助吗?
感谢您对此事的任何帮助。
答案 0 :(得分:1)
当小部件的名称不是它应该是的时候,通常会出现此错误,您可以尝试记录e.parameter以查看其中的内容... Logger.log(e.parameter);
还要检查小部件的名称中没有意外空间......