GAS:GUI Builder,文件上传,提交按钮

时间:2012-09-14 07:56:38

标签: google-apps-script

我已经在stackoverflow上阅读了这个问题的一些答案,但我无法让我的案例有效。

我在GUI Builder中有组件,按下Submit按钮后代码运行到responseToSubmit,但fileName未定义。 fileName是组件“文件上载”中“输入字段”中“名称”的内容。任何想法有什么不对?

function respondToSubmit(e) {

  var app = UiApp.getActiveApplication();

  var fileBlob = e.parameter.fileName;

  throw(fileBlob); // fileBlob = undefined!!!

  return app;

}

enter image description here

最新代码:

function doPost(e){

掷( “的doPost”); //从不抛出,所以代码不会在这里运行!

var app = UiApp.getActiveApplication();

var fileBlob = e.parameter.FileUpload1;

返回app;

}

enter image description here

2 个答案:

答案 0 :(得分:0)

有两种类型的按钮 - 一种是常规按钮,另一种是提交按钮(只能放在表单面板上)

  1. 确保您使用的是“提交”按钮,而不是常规按钮

  2. 使用“提交”按钮时,无需提供处理函数。提交按钮,默认情况下由名为doPost(e)的特殊函数处理。因此,编写一个doPost函数,您将能够使用filename参数。

  3. FileUpload小部件文档提供了一个很好的示例,说明了如何完成此操作。

答案 1 :(得分:0)

我认为您必须在Flow Panel中提供标签,文本框和提交按钮,然后必须由表单面板封装。我有同样的问题,甚至是'意外错误'。我通过将所有这些元素放入Flow Panel来解决它。