Страницы

Поиск по вопросам

понедельник, 16 декабря 2019 г.

Golang загрузка больших файлов Google Drive

#golang #fileupload #google_drive


Есть задача загружать большие файлы (txt,docx,csv,xls) на Google Drive через API
средствами с немедленной конвертацией в форматы Google языка Go, при реализации нашей
программы выгрузки мы столкнулись проблемой загрузки файлов более 5МБ, так как для
загрузки файлов методом:


  Simple upload: uploadType=media


всё да вольно тривиально. Но мы не смогли пока придумать как с помощью библиотеки
https://github.com/google/google-api-go-client сделать загрузку методом:


  Resumable upload: uploadType=resumable


Так как нам необходимо выгружать таблиц по 500MB(и в плоть до 10GB) и более.

Суть: нужен рабочий пример на Golang реализации функции загрузки больших (>500MB,
но также поддерживающий и любой меньший размер) файлов на Google Drive через API.

Кусок существующего кода отвечающий за загрузку файла:

showProgress := func(current, total int64) {
    fmt.Printf("Uploaded at %s, %s/%s\r", getRate(current), Comma(current), Comma(total))
}

r, err := d.Files.Insert(f).ResumableMedia(context.Background(), input, inputInfo.Size(),
mimeType).Convert(true).ProgressUpdater(showProgress).Do()
if err != nil {
    fmt.Printf("An error occurred: %v\n", err)
    return nil, err
}


Результат:

An error occurred: googleapi: Error 400: Bad Request, badRequest

    


Ответы

Ответ 1



Наши желания по загрузке данных в Google таблицы не могут быть реализованы в коде по причине того что на данный счёт есть целый ряд ограничений, и наш объём данных не может быть с конвертирован в форматы Google. Мы сможем использовать Google Drive только для хранения оригинальных файлов. Какие файлы можно хранить на Google Диске Размеры файлов Ниже перечислены ограничения на размеры документов, таблиц и презентаций, которые можно хранить на Google Диске. Документы. Максимум 1 020 000 символов. Размер текстовых документов, преобразуемых в формат Google, не может превышать 50 МБ. Таблицы. Максимум 2 миллиона ячеек для файлов, созданных в Google Таблицах или преобразуемых в этот формат. Презентации. Максимальный размер файлов, преобразуемых в формат Google, составляет 100 МБ. Другие файлы. Максимум 5 ТБ. Поддерживаемые типы файлов Ниже перечислены форматы файлов, которые можно открыть на Google Диске. Обычные файлы: архивы (ZIP, RAR, TAR, GZIP); аудиофайлы (MP3, MPEG, WAV, OGG); изображения (JPEG, PNG, GIF, BMP); файлы разметки/кода (CSS, HTML,PHP, C, CPP, H, HPP, JS); текстовые файлы (TXT); видео (WebM, MPEG4, 3GPP, MOV, AVI, MPEGPS, WMV, FLV, OGG); Файлы Adobe: Autodesk AutoCad (DXF); Illustrator (AI); Photoshop (PSD); документы переносимого формата (PDF); Postscript (EPS, PS); масштабируемые векторные рисунки (SVG); изображения TIFF (рекомендуется при использовании режима RGB); TrueType (TTF). Файлы Microsoft: Excel (XLS и XLSX); PowerPoint (PPT и PPTX); Word (DOC и DOCX); XML Paper Specification (XPS). Оригинал -> Cправка - Диск

Комментариев нет:

Отправить комментарий