我想使用Google API在网站上制作表单,用户在其中填写“名称”,“电子邮件”和要上传的文件。我想将文件上传到正在运行的Google云端硬盘中(正在运行)(遵循YT教程),但是我需要从表单中创建一个名为“ name” +“ email”或名为“ name”的新文件夹并创建一个文件在此文件夹中,其内容为“电子邮件”
我尝试了这个,但是我从未在.gs中做任何事情,所以我不知道如何从 .html
<!DOCTYPE html>
<html>
<head>
<base target="_top">
<title>Upload Files</title>
</head>
<body>
<h1>Nezávazná poptávka!</h1>
<form>
<input type="text" class="box" name="name" placeholder="Celé jméno*">
<br>
<br>
<input type="text" class="box" name="mail" placeholder="E-mail*">
<br>
<br>
<input type="file" name="myFile" mulitple>
<br>
<br>
<input type="button" id="submitBtn" value="Nahrát soubor">
<label id="resp"></label>
</form>
<script>
document.getElementById('submitBtn').addEventListener('click',
function(e){
google.script.run.withSuccessHandler(onSuccess).uploadFiles(this.parentNode)
})
function onSuccess(data){
document.getElementById('resp').innerHTML = "File Uploaded to the path " +data;
}
</script>
</body>
</html>
function doGet() {
var html = HtmlService.createHtmlOutputFromFile('index');
return html.setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL);
}
function uploadFiles(data)
{
var file = data.myFile;
var name = data.name;
var mail = data.mail;
var folder = DriveApp.getFolderById('1lnLlX-zB8n4JZyEDdq242hiw2jX4qZWH');
DriveApp.createFolder(name);
DriveApp.createFile(mail, mail);
var createFile = folder.createFile(file);
return createFile.getUrl();
}
您可以保持index.html
页面不变,并进行一些较小的编辑即可完成任务code.gs
:
function uploadFiles(data){
var file = data.myFile;
var name = data.name;
var mail = data.mail;
var folder = DriveApp.getFolderById('<your-folder-id>');
folder.createFolder(name + " + " + mail);
var createFile = folder.createFile(file);
return createFile.getUrl();
}
或者,如果要将文件上传到新创建的文件夹,则可以通过替换最后三行来做到这一点:
folder.createFolder(name + " + " + mail);
var createFile = folder.createFile(file);
return createFile.getUrl();
与:
var folderID = folder.createFolder(name + " + " + mail).getId();
var createFile = DriveApp.getFolderById(folderID).createFile(file);
return createFile.getUrl();
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句