1

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 が提供する例は私にとってはうまくいきます。つまり、GUI ビルダーを介さずにコードを介して GUI を実行すると、アップロードが機能します。

私はすべてを三重にチェックしましたが、本当に困惑しており、GUI ビルダーを介したファイルのアップロードにバグがあるのではないかと考え始めました。何か助けはありますか?

この件についてご協力いただきありがとうございます。

4

1 に答える 1

1

このエラーは、ウィジェットの名前が本来あるべきものではない場合によく発生します。e.parameter をログに記録して、その内容を確認してください...Logger.log(e.parameter); ウィジェットの名前に偶発的なスペースが含まれていないことも確認してください...

編集:あなたのコメントに従って、私はここでテストしましたが、動作します。同じ設定 (コンポーネント ツリー、名前など) を持っているかどうかを確認してください。これがスクリーン キャップです。: ここに画像の説明を入力

于 2012-06-26T23:03:47.417 に答える