У меня есть веб-приложение, которое состоит из формы загрузки файлов, которые затем сохраняются на Google Диске. Приложение в основном используется для передачи изображений и файлов PDF.
Недавно пользователь сообщил о сбое приложения с определенным файлом PDF. Этот файл PDF размером 72 МБ. Он был создан путем объединения 7-8 других PDF-файлов в один файл. Приложение работает, когда каждый из этих отдельных файлов загружается один за другим, но не работает при отправке комбинированного файла PDF (72 МБ).
Я сам попробовал это в приложении с данным файлом. Приложение выдает ошибку при достижении предложения:
google.script.run
Появляется всплывающее сообщение об ошибке: "NetworkError: Ошибка соединения из-за HTTP 500" . Ошибка появляется довольно быстро, мне просто нужно подождать 1-2 секунды. Поэтому я отказываюсь от ситуации тайм-аута здесь.
В сценарии на стороне сервера у меня есть несколько вызовов Logger.log (), но я не получаю ни одного из них (при нажатии Ctrl + Введите после попытки загрузки ).
Я вижу только журналы отладки, зарегистрированные при загрузке самой формы (журналы, которые я добавил для doGet ()), но вообще нет журналов для функции upload (), вызываемой после нажатия кнопки загрузки на странице. Похоже, что предложение google.script.run не выполняется даже до того, как оно достигло первой строки кода на стороне сервера. Я подтвердил это, закомментировав весь код загрузки на стороне сервера и оставив ТОЛЬКО вызов Logger.log ().
Это исходный код моего приложения:
HTML-форма:
<form id="form1" method="POST" class="form" enctype="multipart/form-data">
<input type="file" id="inputFile" name="inputFile" />
<input type="button" value="Upload File" onclick="upload(this);">
</form>
<script>
function upload(fileUploadInput) {
if (validateUploadForm(fileUploadInput.form)) {
console.log("Launching upload..");
google.script.run
.withSuccessHandler(uploadFileSuccessHandler)
.withFailureHandler(uploadFileFailureHandler)
.uploadFile(fileUploadInput.form);
return false;
}
}
</script>
Сценарий на стороне сервера:
function uploadFile(form) {
Logger.log("Entering uploadFile()");
/*
Commentted code starts here... but it doesn't even reach the previous line!
Throws "NetworkError: Connection failure due to HTTP 500" on a popup
at the page before logging anything.
*/
}
Любая помощь будет принята с благодарностью. Заранее спасибо!