2

これはもっと簡単なはずです。しかし、確かに私はブロブを理解していません。

function doGet(e) { 
  var app = UiApp.createApplication(); 
  var panel = app.createVerticalPanel().setId('panel');
  var fileUpload = app.createFileUpload().setName('theFile').setId('theFile');
  var handler = app.createServerChangeHandler('uploadfile');
  handler.addCallbackElement(panel);
  fileUpload.addChangeHandler(handler);
  panel.add(fileUpload);
  app.add(panel);
  return app;
} 

function uploadfile(e) 
{ 
// data returned which can be used to create a blob
// assuming mime-type to be a text file in this example
  var fileBlob = Utilities.newBlob(e.parameter.thefile, "text/plain","file.txt" );

    // Create a new file
    var doc = DocumentApp.create('Uploaded Text File');

    doc.appendParagraph(fileBlob.getDataAsString());

  // Save and close the document
  doc.saveAndClose();

  //var doc = DocsList.createFile(fileBlob.getDataAsString());
  var app = UiApp.getActiveApplication();
  app.getElementById('panel').add(app.createLabel('File Uploaded successfully'));
  return app;
}

この Google Apps スクリプト コードを使用してファイルをアップロードしようとすると、未定義が返されます。テキスト ファイルを Google ドライブにアップロードするだけです。

このコードを修正するにはどうすればよいですか? またはこれを行うためのより良い方法はありますか?

4

2 に答える 2

0

ファイルのアップロードを行うために、サーバー ハンドラーを使用することはできません。FormPanel と送信ボタンを使用する必要があります。FileUpload ウィジェットのドキュメントを参照してください。

于 2013-09-10T03:26:38.153 に答える