Как скачать файл с помощью ProtoBuf

Я пытаюсь реализовать загрузку файлов напрямую через браузер. Наша компания использует Protocol Buffer в качестве формата передачи данных. Итак, как я могу загрузить файл после открытия веб-страницы?

Я пытался использовать bytes и stream буфера протокола. Но результат

{"result":{"data":"Cw4ODg4ODgsMCw4ODg4ODgsMTUwMCwwLDE1MDAsNDAwMDAsMTAwMDAsMzAwMDAKMDMvMTEvMjAxNSxVbmtub3duIEl0ZW0sUHJlIFJvbGwgVmlkZW8gKG1heCAwOjMwKSw2MDAwMCwzMTAwMCwyOTAwMCw1MDAwMCwyNDAwMCwyNjAwMCwyMC4wMCUsODQ0NCwwLDQwMDAsNDQ0NCw4OTAzODgsMCwwLDAsODg4ODg4LDAsODg4ODg4LDE1MDAsMCwxNTAwLDQwMDAwLDIxMDAwLDE5MDAwCg=="}}

Какой результат вам здесь нужен? Protobuf является бинарным; неразборчиво без правильных инструментов; в этом случае это выглядит так, как будто он обернут как base-64 в JSON, но: либо необработанный двоичный файл, либо показанный JSON/base-64 может быть в порядке. Вы явно загрузили его, если можете показать нам, что там написано. Итак: какого другого результата вы хотите достичь?   —  person sany    schedule 29.08.2019

См. также:  Как создать образ докера Go с помощью bazel, если также требуется libstdc ++?
Понравилась статья? Поделиться с друзьями:
IT Шеф
Комментарии: 1
  1. sany

    Protobuf хорош для структурированного обмена данными, но http обеспечивает идеальный протокол для загрузки файлов. Необходимо установить правильные заголовки, и браузер загрузит файл.

    Если вам действительно нужно использовать protobuf для передачи файлов, вам нужно добавить некоторый javascript, который сначала анализирует protobuf, а затем превращает его в файл, который можно загрузить. См. Как создать динамический файл + ссылку для скачать в Javascript? для справки.

    Итак, отправьте сообщение в виде байтов, добавьте javascript, который анализирует сообщение protobuf для извлечения байтов, а затем создайте загрузку файла, как в связанном ответе.

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: