Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用HtmlService使用Google Apps脚本上传文件

使用HtmlService使用Google Apps脚本上传文件
EN

Stack Overflow用户
提问于 2013-03-27 22:03:39
回答 3查看 15.8K关注 0票数 9

如何将文件上传到google drive?我想使用google app script - htmlservice创建一个web应用程序。我不知道如何将html中的表单指向现有的google应用程序脚本。我很难在google文档中找到一个正确的例子。

我发现了成百上千个使用UI的例子,但根据https://developers.google.com/apps-script/sunset的说法,它很快就会被弃用。提前谢谢你!Janusz

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<html>
<body>
<form>
   <input type="file"/>
   <input type="button">
</form>
</body>
</html>

脚本

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function doGet() {
  return HtmlService.createHtmlOutputFromFile('myPage');
}

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

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-04-03 14:51:52

让按钮使用google.script.run运行服务器端函数,并将整个表单作为唯一的参数传入。(在按钮的onClick中,'this‘是按钮,所以'this.parentNode’是表单。)确保为文件输入指定一个名称。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<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>

在服务器上,让表单处理函数接受一个参数-表单本身。来自客户端代码的超文本标记语言表单将被转换为等效的JavaScript对象,其中除了将是blobs的文件之外,所有命名字段都是字符串属性。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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调用添加一个成功处理程序。您可以这样修改它:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 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)">
票数 15
EN

Stack Overflow用户

发布于 2013-03-28 12:37:03

尝试:返回HtmlService.createTemplateFromFile('myPage').evaluate();More:html service reference

票数 0
EN

Stack Overflow用户

发布于 2013-03-28 15:15:03

我找到了我的问题的答案。

Submit a Form using Google App Script's HtmlService

Google App脚本链接中的代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function doGet(e) {
  var template = HtmlService.createTemplateFromFile('Form.html');
  template.action = ScriptApp.getService().getUrl();
  return template.evaluate();
}

function doPost(e) {
  var template = HtmlService.createTemplateFromFile('Thanks.html');
  template.name = e.parameter.name;
  template.comment = e.parameter.comment;
  template.screenshot = e.parameter.screenshot;
  return template.evaluate();
}

https://script.google.com/d/1i65oG_ymE1lreHtB6WBGaPHi3oLD_-wPd5Ter1nsN7maFAWgUA9DbE4C/edit

谢谢!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15670392

复制
相关文章
Google Apps Script 的使用
Google Apps Script 是为谷歌工作表 Sheets、文档, Docs、幻灯片Slides或表单 Forms创建附加组件,自动化您的工作流,与外部api集成,等等。
拿我格子衫来
2022/01/24
4.1K0
Google Apps Script 的使用
axios 上传文件 封装_使用axios上传文件,如何取消上传
let cancelToken = that.Axios.CancelToken;//Axios使我修改axios原型链了。
全栈程序员站长
2022/09/13
6.3K0
使用Shell脚本实现FTP自动上传和下载文件
FTP服务器:192.168.0.199 FTP路径:/ftphome/data 本地路径:/local/data 将文件从FTP下载到本地的脚本如下:
用户5005176
2021/09/08
6.2K0
js使用Fetch上传文件
我们初始化一个新的FormData对象,并将其赋给FormData变量,然后在那里附加上传的文件。如果有多个文件输入元素,就会有多个append()调用。
IT工作者
2022/01/05
10.1K0
SpringBoot上传文件(使用form)
文件上传是企业开发中最常用的功能。本文主要介绍SpringBoot中使用表单上传时单文件上传和多文件上传的操作方式。
全栈程序员站长
2022/08/14
2.1K1
springboot使用MultipartFile文件上传
SpringBoot 2.0版本 spring: servlet: multipart: enabled: true #默认支持文件上传 file-size-threshold: 0 #文件写入磁盘后的阈值。值可以使用后缀"MB"或"KB"分别表示兆字节或千字节 location: #上传文件的中间位置 max-file-size: 10Mb #单个文件限制 max-request-size: 50Mb #请求总文件大小限制 SpringBoot1.5版本
似水的流年
2019/12/06
2.9K0
Java使用HttpURLConnection上传文件
从普通Web页面上传文件非常easy。仅仅须要在form标签叫上enctype=”multipart/form-data”就可以,剩余工作便都交给浏览器去完毕数据收集并发送Http请求。可是假设没有页面的话要怎么上传文件呢?
全栈程序员站长
2022/07/07
1.9K0
Vue 使用Axios上传文件
单独文件上传 HTML <input class="file" name="file" type="file" accept="image/png,image/gif,image/jpeg" @change="update"/> JS methods: { update(e){ let file = e.target.files[0]; let param = new FormData(); //创建form对象 param.append('file',file);//通过app
码客说
2019/10/22
4K0
使用axios上传文件+参数
数据格式采用 FormData 请求头设置:Content-Type: multipart/form-data; boundary=—-WebKitFormBoundaryVCFSAonTuDbVCoAN
全栈程序员站长
2022/07/02
1.7K0
vue上传文件组件使用_uniapp支持ios文件上传
document.getElementById(‘upload_file’).click()
全栈程序员站长
2022/09/22
2.5K0
python ftp上传文件 脚本
import ftplib # socket-based FTP tools
用户5760343
2022/05/13
4.8K0
使用fileinput插件批量上传文件
  最近在做项目的时候涉及文件批量上传,使用bootstrap结合fileinput插件批量上传文件!以下是我在使用fileinput上传文件的过程。项目是基于springboot+thymeleaf的,所以文章中会有thymeleaf的语法。
雨落凋殇
2019/12/25
3K0
使用fileinput插件批量上传文件
使用Spring Cloud Feign上传文件
最近经常有人问Spring Cloud Feign如何上传文件。有团队的新成员,也有其他公司的兄弟。本文简单做个总结—— 早期的Spring Cloud中,Feign本身是没有上传文件的能力的(1年之前),要想实现这一点,需要自己去编写 Encoder 去实现上传。现在我们幸福了很多。因为Feign官方提供了子项目feign-form ,其中实现了上传所需的 Encoder 。 注:笔者测试的版本是Edgware.RELEASE。Camden、Dalston同样适应本文所述。 加依赖 <dependency
用户1516716
2018/04/03
1.7K0
nodejs文件上传组件multer使用
多图上传,发送端: var express = require('express') var rp = require('request-promise') var fs = require("fs
用户1141560
2017/12/26
2.8K0
使用SecureCRTPortable向Linux上传文件
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/133359.html原文链接:https://javaforall.cn
全栈程序员站长
2022/06/27
3.3K0
使用SecureCRTPortable向Linux上传文件
springboot中使用SFTP文件上传
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/03
3.4K0
onedrive for business使用python上传文件
(adsbygoogle = window.adsbygoogle || []).push({});
用砖头敲代码
2023/03/19
4.5K7
vue 使用 axios 上传文件 — FormData
在此主要介绍 如何使用 formData 对象上传单文件和多文件,FormData 就是 XMLHttpRequest Level 2 新增的一个对象,利用它来提交表单、模拟表单提交,当然最大的优势就是可以上传二进制文件。
全栈程序员站长
2022/09/07
3.1K0
NodeJS使用formidable实现文件上传
  最近自学了一下NodeJS,然后做了一个小demo,实现歌曲的添加、修改、播放和删除的功能,其中自然要实现音乐和图片的上传功能。于是上网查找资料,找到了一个formidable插件,该插件可以很好的实现文件的上传功能。该小demo用到了MySQL数据库,所有的数据都存放到了数据库中。下面简单说一些如何使用。 1.创建app.js主文件 const express = require('express'); const router = require('./router'); const path =
用户1174387
2018/01/17
2.2K0
使用Git上传文件到github
第一次利用git连接github时往往都不会勾选Initialize this repository with a README,这样的的确确是简单了,但是如果我们需要勾选,勾选了之后应该怎么办呢? 1.先去Github上注册一个账号;
西西嘛呦
2020/08/26
2.7K0

相似问题

使用Google Apps脚本通过htmlservice从googlesheet输出数据

13

Google Apps脚本:如何在HtmlService中使用js库

10

Google Apps脚本上传大文件

10

使用Google Apps脚本和HtmlService将对象传递给模板

11

使用Google脚本的HtmlService

113
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文