2012-08-02 74 views
1

我有以下形式:HtmlService INPUT TYPE =文件

<body> 
    <form method='post' action='<?=url?>'> 
     <fieldset> 
     <legend><h1>foo</h1></legend> 
     <label for='fooUpload'>foo</label><br /> 
     <input type='file' id='fooUpload' name='fooUpload'><br /> 
     <input type="submit"/> 
     </fieldset> 
    </form> 
    </body> 

,我試圖訪問fooUpload文件,從我的doPost,使用

Logger.log(typeof(requestInfo.parameter.fooUpload)); 
Logger.log(requestInfo.parameter.fooUpload); 

第一個返回字符串和第二個返回文件的標題。 我做錯了什麼?我甚至想設置形式ENCTYPE =「的multipart/form-data的」 但導致空和空

+0

這可能是一個錯誤。我正在研究它。 – 2012-08-06 21:24:02

+0

Giannis,有一個更好的方法來做到這一點,目前不工作(我們正在修復)。如果您在此頁面上向下滾動到「窗體」並搜索processForm(),您會看到一個示例,說明我們要如何工作。以下是我們用於跟蹤進度的錯誤:http://code.google.com/p/google-apps-script-issues/issues/detail?id=1660 – 2012-08-06 21:28:40

+0

感謝您的努力。我對建議的解決方案有一個輕微的反對意見。客戶端禁用javascript時會發生什麼情況? – 2012-08-07 14:06:41

回答

0

當進行文件上傳,你必須將ENCTYPE爲「multipart/form-data的」,因爲按照HTML form specification 。但是,Apps腳本中似乎存在一個錯誤,其中上傳的文件的Blob未添加到事件的parameter字段中,就像它應該那樣。請在我們的issue tracker上爲此提出問題以獲取更新。

+0

按照@ eric-koleda,我在此處添加了一張票(http://code.google.com/p/google-apps-script-issues/issues/detail?id=2229) – Brian 2012-12-24 07:10:05