Я пытался создать HTML-форму, которая загружает файл на диск Google.
вот код, который я использовал в скриптах приложения Google:
function doPost(e) {
var data = Utilities.base64Decode(e.parameters.data);
var blob = Utilities.newBlob(data, e.parameters.mimetype, e.parameters.filename);
DriveApp.createFile(blob);
return ContentService.createTextOutput("Done.")
}
и вот как выглядит моя HTML-форма:
<form action="https://script.google.com/macros/s/AKfycbx48QW8vH7C0cse4W60VJIXba4MVkUxiuUTaJPZ1_MWwUrODMmp/exec" id="form" method="post">
<input type="text" placeholder="Name" class="form-control"><br>
<input type="email" placeholder="Email" class="form-control"><Br>
<div id="data"></div>
<input name="file" id="uploadfile" type="file" class="form-control">
<br><Br>
<button id="submit" type="submit" class="btn btn-primary form-control">Send</button>
</form>
<script>
$('#uploadfile').on("change", function () {
var file = this.files[0];
var fr = new FileReader();
fr.fileName = file.name
fr.onload = function (e) {
e.target.result
html = '<input type="hidden" name="data" value="' + e.target.result.replace(/^.*,/, '') + '" >';
html += '<input type="hidden" name="mimetype" value="' + e.target.result.match(/^.*(?=;)/)[0] + '" >';
html += '<input type="hidden" name="filename" value="' + e.target.fileName + '" >';
$("#data").empty().append(html);
}
fr.readAsDataURL(file);
});
</script>
используемый URL https://script.google.com/macros/s/AKfycbx48QW8vH7C0cse4W60VJIXba4MVkUxiuUTaJPZ1_MWwUrODMmp/exec
это URL, который я получил после развертывания скрипта в качестве веб-приложения.
Теперь, когда я пытаюсь загрузить файл .txt, он выдает ошибку Could not decode the string. (line 2, file "Code", project "PROJET NAME")
ОБНОВЛЕНИЕ:
Основываясь на @TheMaster Comment, я обнаружил, что мне не нужна декодирующая часть .. поэтому я изменил скрипт google так:
function doPost(e) {
var blob = Utilities.newBlob(e.parameters.data, e.parameters.mimetype, e.parameters.filename);
DriveApp.createFile(blob);
return ContentService.createTextOutput("Done.")
}
Но этодал мне ошибку Invalid argument (line 3, file "Code", project "PROJECT NAME")