2013-12-24 2 views
0

Эти ошибки я получаю:UI для загрузки/прикрепить файл к Google Sites страницы

[13-12-23 22: 43: 26: 376 EST] Тип страницы: FileCabinetPage

[ 13-12-23 22: 43: 26: 376 EST] Файл blob: undefined

[13-12-23 22: 43: 26: 383 EST] Ошибка msg: Не удается найти метод addHostedAttachment ((класс)).

Вот выдержка из моего кода:

function doGet(){ 

    var app = UiApp.createApplication().setTitle("Shipping Label Request Form"); 
    var form = UiApp.createFormPanel(); 
    var panel = UiApp.createVerticalPanel(); 
    var attachment = app.createFileUpload().setId('attachment').setName('attachment') 
    var button = app.createSubmitButton('Submit').setId("button"); 

    app.add(form); 
    form.add(panel); 
    panel.add(attachment); 
    panel.add(button); 

    // not needed with formPanel // 
    // var handler = app.createServerHandler('submitAnnouncement'); 
    // button.addClickHandler(handler); // 

    return app; 
} 

// submitAnnouncement changed to doPost() 
function doPost(e) { 

    var app = UiApp.getActiveApplication(); 
    var page = SitesApp.getPageByUrl('https://sites.google.com/...') 
    var fileBlob = e.parameter.attachment; 

    Logger.log('Page type:' +page) 
    Logger.log('File blob:' +fileBlob) 

    try { 
    page.addHostedAttachment(fileBlob) 
    } 
    catch(e){ 
    Logger.log('Hosted attachment error msg:' +e.message); 
    } 
} 

ответ

1

Приставка параметр не будет доступен для обработчика сервера в коде, для того, чтобы исправить это, вы можете использовать либо

var handler = app.createServerHandler('submitAnnouncement')addCallbackElement(attachment) 

Или вы можете огибать вложение и кнопку в вертикальной панели, которая затем должна быть помещена внутри панели формы, и ваш код должен начать работать.

+0

Добавлен обратный вызов, не работает. Аналогичные сообщения об ошибках. Завтра я попробую использовать панель формы. – weathertinker

+0

Мне понравилось, что вы сказали, и использовали панель формы. Работала великолепно. Изменен обработчик doPost(), исключен обработчик в doGet() и добавлен все виджеты на вертикальную панель внутри формы. – weathertinker