我正在構建我的第一個使用Google Apps腳本的應用程序。我需要一個允許將文件上傳到Google文檔列表的表單。我現在有根據的Google Apps Script FileUpload docmentation這個工作使用代碼:Google Apps腳本FileUpload()沒有FormPanel?
function doGet(e) {
var app = UiApp.createApplication().setTitle("Upload CSV to Sheet");
var form = app.createFormPanel().setId('frm').setEncoding('multipart/form-data');
var formContent = app.createVerticalPanel();
form.add(formContent);
formContent.add(app.createFileUpload().setName('thefile'));
formContent.add(app.createSubmitButton('Submit'));
app.add(form);
return app;
}
function doPost(e) {
// data returned is a blob for FileUpload widget
var fileBlob = e.parameter.thefile;
var doc = DocsList.createFile(fileBlob);
app.close();
return app;
}
不過,我想指定我自己的點擊處理程序的提交按鈕,如果可以不等待POST。當我試圖將上面的代碼更改爲這樣的內容時,對e.parameter.thefile的引用爲空,並且不包含文件blob。
function doGet(e) {
var app = UiApp.createApplication().setTitle("Upload CSV to Sheet");
var formContent = app.createVerticalPanel();
var submitServerHandler = app.createServerClickHandler('submitHandler_');
formContent.add(app.createFileUpload().setName('thefile'));
submitServerHandler.addCallbackElement(formContent);
formContent.add(app.createButton('Submit').addClickHandler(submitServerHandler));
app.add(formContent);
return app;
}
function submitHandler_(e) {
// data returned is a blob for FileUpload widget
var fileBlob = e.parameter.thefile;
var doc = DocsList.createFile(fileBlob);
app.close();
return app;
}
是否可以在沒有FormPanel的情況下使用FileUpload控件?如果是這樣,怎麼樣?謝謝!
此問題使用不推薦的類,如DocsList。 –