【发布时间】:2015-05-04 15:47:17
【问题描述】:
我对此很陌生,我知道这可能很简单,但我似乎无法让它发挥作用。我在网上找到了这个应用程序脚本,它可以让人们将文件上传到我的 Google 云端硬盘,但是当我尝试更改其中的任何内容并保存时,它不会反映在应用程序中。我尝试在 Google 脚本编辑器中添加 CSS 或更新文本,然后按保存然后运行 doGet 函数,但没有弹出任何内容来显示页面,并且应用程序根本没有改变。它已经部署和授权。
server.gs:
function doGet(e) {
return HtmlService.createHtmlOutputFromFile('form.html');
}
function uploadFiles(form) {
try {
var dropbox = "Student Files";
var folder, folders = DriveApp.getFoldersByName(dropbox);
if (folders.hasNext()) {
folder = folders.next();
} else {
folder = DriveApp.createFolder(dropbox);
}
var blob = form.myFile;
var file = folder.createFile(blob);
file.setDescription("Uploaded by " + form.myName);
return "File uploaded successfully " + file.getUrl();
} catch (error) {
return error.toString();
}
}
form.html:
<link rel="stylesheet" href="https://ssl.gstatic.com/docs/script/css/add-ons1.css">
<?!= include('style'); ?>
<form id="myForm">
<input type="text" name="myName" placeholder="Your name..">
<input type="file" name="myFile">
<input type="submit" value="Upload File"
onclick="this.value='Uploading..';
google.script.run.withSuccessHandler(fileUploaded)
.uploadFiles(this.parentNode);
return false;">
</form>
<div id="output"></div>
<script>
function fileUploaded(status) {
document.getElementById('myForm').style.display = 'none';
document.getElementById('output').innerHTML = status;
}
</script>
【问题讨论】: