Google Apps脚本:检查上传文件是否存在或为空

时间:2014-04-08 08:25:12

标签: google-apps-script google-sheets

我尝试构建条件以检查文件是否在提交之前上传。目前的情况是,成功发送/提交上传或未上传的文件。当我尝试使用var file = e.parameter.file时,它会给出一个字符串FileUpload。任何人都可以帮助我吗?

function  setFormUpload() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet();
  var app = UiApp.createApplication().setTitle("Upload File");
  var form = app.createFormPanel().setId('form').setEncoding('multipart/form-data');
  var formContent = app.createVerticalPanel();
  var infoBox = app.createLabel().setVisible(false).setId('infoBox');

  form.add(formContent);  
  formContent.add(app.createFileUpload().setName('file'));
  formContent.add(app.createSubmitButton('Upload'));
  app.add(form);
  sheet.show(app);
}


function doPost(e){
  var app = UiApp.getActiveApplication();
  var file = e.parameter.file;

  if(file == ''){
    var text = 'file empty';
  } else {
    var text = 'file exist';
  }

  app.getElementById('infoBox').setText(text).setVisible(true);
  return app;
}

3 个答案:

答案 0 :(得分:3)

而不是检查e.parameter.file的实际值,(因为这总是返回FileUpload是否为空)检查其长度。如果没有文件,它将为零。

if(file.length > 0){
    var text = 'file empty';
} else {
    var text = 'file exist';
}

答案 1 :(得分:1)

同样,这不会检查文件夹是否存在

apply plugin ="java"

答案 2 :(得分:0)

我的文档有类似的问题。希望这会有所帮助。

var destFolder = DocsList.getFolder('ScriptTesting');
var destFileId = destFolder.find('Dest1');
if (!destFileId[0]) 
  DocumentApp.getUi().alert('Problem finding Dest File...');

这不会检查文件夹是否存在。