【问题标题】:HtmlService input type=fileHtmlService 输入类型=文件
【发布时间】:2012-07-31 21:11:31
【问题描述】:

我有以下表格:

<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>

我正在尝试从我的 doPost 访问 fooUpload 文件,使用

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

第一个返回字符串,第二个返回文件的标题。 难道我做错了什么?我什至尝试将表单设置为 enctype="multipart/form-data" 但这导致了 null 和 null

【问题讨论】:

  • 这可能是一个错误。我正在调查。
  • Giannis,有一个更好的方法可以做到这一点,但目前无法正常工作(我们正在努力修复)。如果您在此页面上向下滚动到“表单”并搜索 processForm(),您将看到我们希望它如何工作的示例。这是我们用来跟踪进度的错误:code.google.com/p/google-apps-script-issues/issues/…
  • 感谢您的努力。我对建议的解决方案有一点反对意见。当客户端禁用 javascript 时会发生什么?
  • 您有多少用户没有启用 JavaScript 的数字?我问是因为我不知道 HtmlService 是否会在没有 JavaScript 的情况下 100% 工作。你肯定会失去对你的脚本进行内联函数调用的所有能力。
  • HtmlService 在禁用 JavaScript 的情况下根本无法工作。这不是我们真正可以或不会解决的问题。

标签: html forms google-apps-script web-applications


【解决方案1】:

根据HTML form specification,在进行文件上传时,您必须将 enctype 设置为“multipart/form-data”。但是,Apps 脚本中似乎存在一个错误,上传文件的 Blob 未像应有的那样添加到事件的 parameter 字段中。请在我们的issue tracker 上提出问题以获取更新。

【讨论】:

  • 根据@eric-koleda,我为此here添加了一张票
猜你喜欢
  • 2020-06-30
  • 2011-03-10
  • 2019-08-08
  • 2015-03-24
  • 1970-01-01
  • 1970-01-01
  • 2014-10-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多