【发布时间】:2016-08-31 10:16:08
【问题描述】:
我在我的 squarespace 网站上使用现成的代码。我找到了一种通过设置现成的谷歌应用程序脚本将文件上传到我的谷歌驱动器的方法。它适用于发布应用程序提供的网址。
但是,我通过代码注入在我的 squarespace 页面上实现了现成解决方案中的 html 代码,它显然不起作用。脚本代码中可能没有任何信息可以指向通过发布应用程序生成的特定 URL。
这是我在 squarespace 中用于注入的代码(我需要一些将我连接到谷歌应用脚本服务器端的代码)
<div align="center">
<table width="459" border="0">
<tbody>
<tr>
<td width="462"><div align="center">
<hr>
</div>
<form id="myForm" align="center">
<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>
<style>
input { display:block; margin: 20px; }
</style>
<hr></td>
</tr>
</tbody>
</table>
<h3> </h3>
<p> </p>
</div>
现在服务器端的代码如下所示:
function doGet(e) {
return HtmlService.createHtmlOutputFromFile('form.html');
}
function uploadFiles(form) {
try {
var dropbox = "RHT";
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();
}
}
请帮助这必须添加非常简单的代码才能使其工作。
非常感谢
【问题讨论】:
标签: file upload squarespace