非常抱歉,如果这个问题有重复,请谅解。经过多小时的搜索仍然没有结果,我决定向社区提问:
是否有任何方法,使用以下带有HTML和JavaScript的表单(使用POST或GET请求),使用户能够从普通HTML页面提交并上传文件到Google Drive,通过将“form action =”指向Google脚本实现?
我已经成功地将值写入Google电子表格,只使用一个指向包含单个doPost(e)的Google脚本的表单操作,然后抓取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>
Google Apps Script
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()”,以及“...在对象类型上”。
这有希望吗? 我一直在尝试从这里和以下两个问题中搜集信息,这两个问题涉及与此类似的方法的错误,分别是 这里和 这里,后者似乎最接近我的情况。
非常感谢您提前对此事的任何帮助。