Как насчет этого ответа? Пожалуйста, подумайте об этом как об одном из нескольких возможных ответов.
Проблема и обходной путь:
Я мог бы подтвердить примерно такую же ситуацию с вашей проблемой. В этом случае, я думаю, что когда V8 включен, объект формы может быть не в состоянии проанализировать, когда объект отправляется на сторону скрипта Google Apps с помощью google.script.run. Хотя я думаю, что это может быть изменено в будущем обновлении, в качестве текущего обходного пути я хотел бы предложить отправить загруженный файл на сторону GAS в виде байтового массива.
Когда ваш скрипт изменяется, он становится следующим образом.
Модифицированный скрипт:
HTML & Javascript side: ContractUpload.html
Пожалуйста, измените uploadthis
следующим образом.
function uploadthis(fileForm){
const file = fileForm.myFile.files[0];
const fr = new FileReader();
fr.onload = function(e) {
const obj = {
// filename: file.name, // In your script, the filename is given at GAS side. So I removed this.
mimeType: file.type,
bytes: [...new Int8Array(e.target.result)]
};
google.script.run.withSuccessHandler((e) => console.log(e)).uploadFiles(obj);
};
fr.readAsArrayBuffer(file);
}
Сторона скрипта Google Apps: Code.gs
Пожалуйста, измените uploadFiles
следующим образом.
function uploadFiles(data){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sStamdata = ss.getSheetByName('Stamdata_New');
var contractFolderId = sStamdata.getRange('D60').getValue();
var idag = Utilities.formatDate(new Date(), "GMT+1", "yyyyMMdd");
var title = sStamdata.getRange('D52').getValue();
var file = Utilities.newBlob(data.bytes, data.mimeType, idag+" - KONTRAKT - "+title); // Modified
var folder = DriveApp.getFolderById(contractFolderId);
var createFile = folder.createFile(file);
return createFile.getId(); // Added
}
Примечание:
- При вышеуказанном изменении, когда файл После загрузки файл преобразуется в байтовый массив и отправляется на сторону GAS. Затем файл создается из байтового массива. И идентификатор файла возвращается. Вы можете увидеть это в консоли.
Ссылки:
Если я неправильно понял ваш вопрос, и это не то направление, в котором вы хотите, я приношу свои извинения.