gpt4 book ai didi

forms - 使用HtmlService使用Google Apps脚本上传文件

转载 作者:行者123 更新时间:2023-12-04 10:19:07 24 4
gpt4 key购买 nike

如何将文件上传到Google驱动器?
我想使用Google应用脚本-htmlservice创建一个Web应用。
我不知道如何将html中的表单指向现有的Google应用程序脚本。
我很难在Google文档中找到合适的示例。

我发现了使用UI的数百个示例,但是根据https://developers.google.com/apps-script/sunset,它将很快被弃用。
先感谢您!
亚努斯

<html>
<body>
<form>
<input type="file"/>
<input type="button">
</form>
</body>
</html>

脚本
function doGet() {
return HtmlService.createHtmlOutputFromFile('myPage');
}

function fileUploadTest()
{
var fileBlob = e.parameter.upload;
var adoc = DocsList.createFile(fileBlob);
return adoc.getUrl();
}

最佳答案

让按钮使用google.script.run运行服务器端功能,并将整个表单作为唯一参数传递。 (在按钮的onClick内部,“this”是按钮,因此“this.parentNode”是表单。)确保为文件输入指定名称。

<html>
<body>
<form>
<input type="file" name="theFile">
<input type="hidden" name="anExample">
<input type="button" onclick="google.script.run.serverFunc(this.parentNode)">
</form>
</body>
</html>

在服务器上,让表单处理功能采用一个参数-表单本身。客户端代码中的HTML表单将转换为等效的JavaScript对象,其中所有命名字段均为字符串属性,但文件将是blob。
function doGet() {
return HtmlService.createHtmlOutputFromFile('myPage');
}

function serverFunc(theForm) {
var anExampleText = theForm.anExample; // This is a string
var fileBlob = theForm.theFile; // This is a Blob.
var adoc = DocsList.createFile(fileBlob);
return adoc.getUrl();
}

如果您确实要使用要生成并返回的URL,请确保将成功处理程序添加到google.script调用中。您可以这样修改它:
// Defined somewhere before the form
function handler(url) {
// Do something with the url.
}

<input type="button" onclick=
"google.script.run.withSuccessHandler(handler).serverFunc(this.parentNode)">

关于forms - 使用HtmlService使用Google Apps脚本上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15670392/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com