目前,我正在使用示例在 Google Apps 脚本上为我的网页创建上传功能。这是代码:
代码.gs
function doGet(e) {
return HtmlService.createHtmlOutputFromFile('form.html');
}
function uploadFiles(form) {
try {
var dropbox = "Test 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();
}
}
表单.html
<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>
<style>
input { display:block; margin: 20px; }
</style>
此代码本身工作正常,但是当我尝试使用当前现有代码在我的网页上实现它时:https://jsfiddle.net/05nmqy63/
它不会像示例中所示那样工作。该示例将文件上传到我的 Google 文档中的文件夹中,但是当放入我的代码中时,页面发生了变化,但它没有上传任何内容,也没有说文件已提交。
我该如何解决这个问题?或者有没有更简单的方法来实现上传按钮? (我希望提交订单按钮能够充当上传按钮)
最佳答案
找出问题所在后,就解决了我的问题。我收到的错误是这样的:Uncaught InvalidArgumentError: Failed due to invalid value in property: 0
此错误已由此论坛上的另一个人解决:google.script.run not working: Uncaught InvalidArgumentError: Failed due to illegal value in property: 0
关于javascript - 如何将此示例应用到我已有的代码行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34142792/