Неполное изображение получено с помощью скриптов Google - возможная проблема с тайм-аутом - PullRequest
0 голосов
/ 30 ноября 2018

Использование сценариев Google для получения изображений с URL-адреса с указанным типом MIME и сохранения их на диске Google.

При экспорте изображений с диска Google на диск отображается только часть изображения.отображается.Мои журналы показывают, что мой скрипт выполняется, и может потребоваться до минуты, чтобы запустить извлечение.

Загрузка вручную (путем ввода URL-адреса в браузере) может занять до 2 или 3 минут, чтобы загрузить изображение, которое может быть до 50 МБ.Но это полное изображение и отображается полностью.

Истекло ли время ожидания моего сценария?Как я могу расширить или убедиться, что метод остается активным до завершения поиска?

Пример кода:

            //image type provided by source, with URL
            var imageType = "image/png"
            var url =  ***insert url here ***

            var headers = {
                "Accept": imageType,
                "Content-Type": imageType,
                "Authorization": "Basic " + Utilities.base64Encode(user + ":" + password)
            };

            //method to download file
            var options = {
                "method": "get",
                "headers": headers
            };

            var response = UrlFetchApp.fetch( ***ImageUrl*** , options);
            var responseBlob = response.getBlob();

            //target folder
            var folder = DriveApp.getFolderById( ***folderId*** );

            //create file in folder, as specified type
            var file = folder.createFile(responseBlob.getAs(imageType));

Обновление:

После этого следует полезное предложение,используя заголовок Range.Код заголовка теперь выглядит следующим образом:

                var headers = {
                "Accept": imageType,
                "Content-Type": imageType,
                "Range": bytes=0-500,
                "Authorization": "Basic " + Utilities.base64Encode(user + ":" + password)
            };

Я ожидал код ответа 206, но все равно получил код ответа 200.

Заголовки ответа:

    headers({
    'Cache-Control': "private",
    Server: "Microsoft-IIS/8.0",
    'Access-Control-Allow-Origin': "*",
    'x-aspnet-version': "4.0.30319",
    'Set-Cookie': "NSC_wfoeps01=xxxxxxxxxxxxxxxxxxxxdbb41d7b58dfc80780e53c974e9617a1f471e88fcxxxxxxxxxxx;path=/;secure;httponly",
    'Content-Length': "59070463",
    Date: "Fri, 30 Nov 2018 14:16:46 GMT",
    'Content-Type': "image/png"
})

Обновление:

Сервер, с которого я пытаюсь загрузить, не поддерживает частичные загрузки (в настоящее время).Это решение с использованием RANGE сработало бы, если бы сервер поддерживал частичную загрузку.

Спасибо за помощь.Очень ценится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...