使用通过Class FileUpload上传的数据

时间:2013-02-27 21:05:19

标签: file-upload user-interface google-apps-script google-sheets

也许是一个基本问题,但我似乎无法在文档中找到答案。

我有一个电子表格和一个包含FileUpload和Submit小部件的UI表单。

function displayFileDialog() {

  var fileDialog = UiApp.createApplication()
  .setTitle("Select PROJECT XML File")
  .setHeight(100)
  .setWidth(200);
  var form = fileDialog.createFormPanel();
  var flow = fileDialog.createFlowPanel();
  var file = fileDialog.createFileUpload().setName("fileUL");      
  var button = fileDialog.createSubmitButton('submit'); 
  var textedit = fileDialog.createTextBox().setName("textBox");


  flow.add(file);      // add file to flo                                  
  flow.add(textedit);  // testing textedit
  flow.add(button);    // add button to flow                                 
  form.add(flow);      // add flow to form
  fileDialog.add(form);// add form to application

  SpreadsheetApp.getActiveSpreadsheet().show(fileDialog);  // Display dialog in spreadsheet.
}

运行此功能会按预期在工作表中显示UI。

按下提交按钮后,将运行doPost功能:

function doPost(e) {
  Logger.log("doPost - fileUL is-" + e.parameter.fileUL + "-");
  Logger.log("doPost - textEdit is-" + e.parameter.textBox + "-");
}

现在,如果我将一个小的XML文件加载到FileUploader并在textEdit中输入test TESTING,我会在Log窗口中看到以下内容:

doPost - fileUL is-FileUpload-
doPost - textEdit is-TESTING-

无论文件是什么,它总是说FileUpload。我猜我错了东西,因为textEdit工作,但我无法调试和上传,同时我不知道我在这里做错了什么。并且docs似乎没有任何进一步的信息。

我可能做错了什么?

1 个答案:

答案 0 :(得分:1)

在您提供的文档的第一行:

  

FileUpload的结果是“Blob”

您可以使用

阅读Blob的内容
e.parameter.fileUL.getDataAsString();