请原谅这个问题可能存在口是心非,但经过几个小时的搜索无果后,我选择向社区询问以下问题:
有没有什么办法,使用以下带有 HTML 和 Javascript 的表单(带有 POST 或 GET 请求),我可以让用户从普通的 HTML 页面提交文件并将其上传到 Google Drive通过将“表单操作=”定向到Google脚本?
我已经能够仅使用指向 Google 脚本的表单操作成功地将值写入 Google 电子表格,该脚本包含单个 doPost(e),然后获取 e.parameter.[input_field_name_here] 并执行计算。
我一直在尝试多种方法的组合,但这只是我所能得到的。
当前 HTML:
<form method="post" action="my_google_script_published_as_web_app_url/exec" name="quoteForm" id="quoteForm" target="hidden_iframe">
<input type="file" name = "thefile">
</form>
谷歌应用脚本
function doPost(e)
{
var fileBlob = e.parameter.thefile;
Logger.log(e);
Logger.log(fileBlob);
var doc = DocsList.createFile(fileBlob.getBlob());
}
我尝试对代码进行以下变体,以便尝试通过此方法执行上传:
- 添加了
enctype="multipart/form-data"
到表格上看看这是否是一个问题。
- 尝试改用“GET”请求。
我能够得到的最接近的实际可用结果是“无法将数组转换为 BlobSource”的错误返回,以及“无法在字符串类型上调用 .getBlob()”的进一步结果以及“...在对象类型上”。
这还有希望吗?我一直在尝试从这里收集我能收集到的信息,以及以下两个问题,这些问题听起来像是与此类方法相关的错误here https://code.google.com/p/google-apps-script-issues/issues/detail?id=2229 and here https://code.google.com/p/google-apps-script-issues/issues/detail?id=1660后者似乎最接近我所面临的情况。
预先非常感谢您就此事提供的任何帮助。