Я вижу, что класс Drive Folder
имеет метод createFile (), который принимает три аргумента для имени, содержимого и mimeType .Можно ли использовать это как часть вызова загрузки, чтобы загружать и преобразовывать пользовательский файл (в Документы Google) одновременно, без необходимости прямого вызова REST API с convert=true
?
Например, вот HTML:
<html>
<head>
<base target="_top">
<script>
function handler(response) {
document.getElementById('uploader').innerHTML = "Uploaded file! " + response;
}
</script>
</head>
<body>
<div id="uploader">
<form>
<input type="file" name="theFile">
<input type="button" onclick="google.script.run.withSuccessHandler(handler).uploadFile(this.parentNode)" value="Upload!">
</form></div>
</body>
</html>
А вот код Google Script:
function uploadFile(e) {
Logger.log("Uploading file!");
var dfolder = DriveApp.getFolderById('abcdefgh'); // replace w/ Drive FolderID
return dfolder.createFile(e.theFile).getName();
}
Как мне изменить эту последнюю строку на что-то вроде:
return dfolder.createFile(newName, e.theFile, MimeType.GOOGLE_SHEETS);
Сейчас я пытаюсь выяснить, как просто получить имя загружаемого файла (например, для newName
).И затем, как перейти к преобразованию любой формы e.theFile
в строку.Если я попробую это как есть сейчас, я получу ошибку:
Недопустимый аргумент: file.contentType в uploadFile (код: 31)